Asterix Gaming Guild Logo GeneralXXLXXL 2XXL 3XXXLOlympic GamesXXL EditorToolsOff-TopicXXL RomasteredXXL 2 RemasteredOther GamesModsCaesar's ChallengeUnfair XXLPatchesFan ArtPersonal ArtSpeedrunningMediaRandomizerBETA RomeHSKALPresence AdrienPresence SPQRPresence Mr. RubinshteinSupport Bot Helpdesk

#editor

adrientd
No problem! 🙂 Also thanks to you for the exe you gave me a while, so I could look at what was added in the squad classes :Obelul:
deathhound246
I will never know how you can figure out with symbols or dwarf what any given set of bytes are Also sounds like the editor now has basically given me a few free class members definitions for the decomp :KEKW:
adrientd
Some were guessed, some were taken recently from the XXL2R Mac debug symbols :Obelul: So see, these symbols can also help the other games as well
pegperegogaucho
Very nice! The debug symbols have certainly been a blessing
pegperegogaucho
Adrien, do you know what changed between XXL and XXL2? What are the key differences? In the commits I saw something about Damage- and HitConfig, what is that?
adrientd
There's quite a lot of changes. The important ones: - The squads are now grouped into **Fight zones**, which in XXL2 is just a bounding box of where the enemies can move. If they spawn outside of the zone they die immediately. - Squads no longer have MsgActions anymore. Instead you just use triggers. There are still states (which I called "phases" before we got the debug symbols :Obelul: ) which just control properties of the squad (position, flags, behavior, target, etc.) - In XXL1, a MsgAction was needed to respawn an enemy when they die. Now there is a "Auto-respawn" flag in the squad state which automatically does this, without having to use a trigger. The editor sets it to true by default to make life easier. - There is no enemy component reference in the pool entry of a squad. Instead the references are put in the CKGrpPoolSquad in an array, and in the pool entry you put an index to the array. So if you want to edit the enemy components, you have to go to the pool group in the Hooks window, and drag-drop the component from the array to the Object inspector (will need to find a better way to present the components).
adrientd
The DamageTypeConfig and EnemyHitConfig are what defines the damages applied to the hero and enemy respectively. For DamageTypeConfig it contains how far you get thrown away by the enemy, and how many health points you lose. There's an array containing them in the CKGrpEnemy, but I haven't figured how they get referenced.
adrientd
Maybe in the enemy component?
adrientd
No wonder I haven't put names to the enemy component properties yet :Obelul:
baku69
So when we can expect Unfair XXL 2 Spork ? :Pauselix:
pegperegogaucho
Very cool! I will have to look at the triggers and what you can do with them soon
pegperegogaucho
I see they simplified a lot of stuff from XXL, like the DamageTypeConfig was just part of the component flags before, now it is separated into several values. So, to make a different component for an enemy in a squad, you would first need to make a new pool with a new component and reference it in the squad?
pegperegogaucho
:Obelul: probably never, I will most likely try out some thing though and see what you can do
hesopesomeso
Awesome work! :PatChamp:
deathhound246
Can we see the bounding box for fight zones? Would be cool to see since you mentioned "If they spawn outside of the zone they die immediately"
deathhound246
And what are the differences between the structs involved in fights, mostly phases, choreos and choreo keys
pegperegogaucho
For the choreography there should be something in the wiki on github describing what they are for
deathhound246
``` Squads also are responsible for the placement of its enemies, which are called Choreographies. The Choreographies can be animated with Choreography Keys, meaning you can make enemies do interesting movement such as walking through a path, turn around the hero, approach the hero and flee from the hero periodically, etc. ``` this is about all it says tbh, but i still don't really understand it much might just be something i need to mess around with and try in game
adrientd
Not yet, but that's definitely going to be implemented soonâ„¢ (which colors could I give to these bounding boxes?)
adrientd
Squad has one or more "states" (I called them phases before the debug symbols), which is just values of how the squad behaves, and you can switch between the states to change the behavior. Every state has a choreography, which is a list of positions for the enemies in the squad. The choreography can be "animated", and each "frame" of the animation is named a choreography key. For example you can have an enemy be at a corner, then after 5 seconds go to another corner, and then another 5 seconds it loops back to the first corner. For this you would need two choreokeys, and in each key you position your enemy differently.