Closed salvadorc17 closed 6 years ago
You can edit layerA and layerB level maps and blocks (metatiles) for all levels with CadEditor, and view (read-only, because I have no decode all objects codes) all level objects.
To start CadEditor with one of game map
There are many runCadEditorContra.bat in settings_sega_contra_hardcorps folder for every level in game. Run one of them or pass Config.cs parameter to CadEditor wia command line as it is written in the bat files – "start CadEditor.exe settings_sega_contra_hard_corps/Config_1.cs" for example.
There are three important functions in this file:
To put changed map inside game
After editing level, you must compress map file back with LZKN decompressor/decompressor and replace original archive inside ROM with your new archive.
I save offsets of original archive in Setting_SegaContra*.cs files, for example for 1st level:
https://github.com/spiiin/CadEditor/blob/master/CadEditor/settings_sega_contra_hard_corps/Settings_SegaContra_1.cs#L55
private string BLOCKS_NAME = "blocks_11.bin"; //1E391A//1E597C
1E391A - offset for layerA archive
1E597C - offset for layerB archive
After this you can load game in emulator and view changed level.
So it will be expanded to edit objects/events?? That is like most important..
Maybe, but not soon
Objects can be edited now (with a changing bytes in table, so you must know what exactly you doing). Also improved sega block editor and added recompressing plugin for inject maps back in ROM from CadEditor https://github.com/spiiin/CadEditor/releases/tag/v4.6
video example in release notes
I just try to load level, and it display only tileset, how to use and what can modify..