SMB3-Foundry
SMB3-Foundry copied to clipboard
Add Sprite Editor
Currently there is no way to edit the code of objects or enemies in SMB3. This would be a logical and great feature of the editor. But, there are many problems and concerns about this issue:
- How are we going to apply it to the game?
- How would one add an object to the editor?
- How will the editor display the enemies?
To apply it to the game, I propose we just compile the sprite code itself. This is easily possible to achieve in asm6. Simply, we could compile the sprite code and then apply the binary data to the rom in the correct spot.
To start off the process, I propose a relative simple solution. We simply provide a directory to insert all the enemy code into. The user can hit a generate sprite code button and the editor will produce the default sprite code for the editor to compile. Inside this compiled code there will be a directory contain more directories and enemy.cfg files. The cfg file will include all naturally assigned attributes determined elsewhere in the rom and the a few other details pertaining to the editor. One of these details will be what code to import when compiling the project. There will be a master sprite list of all the enemy spots and this can be edited manually to add sprites to the game. Once satisfied the user can click apply enemies and select the directory and the editor will compile and apply the data to their currently loaded rom.
To change the image of the currently loaded sprite will also be trivialized. The cfg file will include a location for the image to be displayed. When the editor loads or compiles the enemies the editor will fetch this file from the master file. To make this data persist, an address should be stored to the master file, so it can be found on reload.
With this idea in mind, I believe using asm6 to compile the sprite code is a fantastic and elegant solution to this large cumbersome problem.