dansalvato / melee-gci-compiler

Melee GCI Compiler is an application and scripting language that makes it easy for Super Smash Bros. Melee mod developers to inject custom code and data into Melee save files.
Mozilla Public License 2.0
35 stars 9 forks source link

Various new features and fixes to make 20XXTE source port possible #4

Closed dansalvato closed 3 years ago

dansalvato commented 3 years ago

After this merge, the release version of Melee GCI Compiler will be updated to version 1.1.0.

New Features

!blockorder

When Melee performs a save, the layout of the blocks in the save file can change. !blockorder allows you to change the block layout in your compiled GCI in case you are trying to match the layout of an existing Melee save, as is the case with the 20XXTE source port (or if there is a specific functionality to the block layout that has not yet been discovered).

!patch

Like !gci, but writing data while in patch mode defers that data from being written until the very end of compilation, right before the GCI is packed. If !blockorder is used, block reordering happens before this as well, so the address specified by !patch is absolute and does not "follow" any blocks around. Using !loc or !gci after !patch will disable patch mode for following data writes.

!fill

Writes the pattern in the second argument the number of times specified in the first argument. The pattern can be hex (eg. ff) or binary (eg. %11111111). The pattern can be any number of bytes long.

Fixes/Changes