Kuribo64
Views: 7,617,596 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
10-23-17 03:08 PM
Guest:

0 users reading Colored Goombas | 1 bot

Main - General SM64DS hacking - Colored Goombas New reply


mibts
Posted on 12-29-16 03:58 PM (rev. 2 of 12-29-16 04:29 PM) Link | #80615
I made another hack; this time Colored Goombas:
[image]
Red Goombas jump at the player,
Green Goombas jump and spin at the player, and
Yellow Goombas do 1 extra damage.
They are all in Bob-Omb BattlefieldBlocky Block Land. To add one, set the X of XWEC in param 1 to 0 (red), 1 (green), or 2 (yellow) instead of F (normal).

I had to convert the Goomba code from assembly to C++, simplify it, and then add my hack and compile it back. This version of SM64DSe contains the source code for it in ASMPatchTemplate. Here are the steps to modifying the Goomba if you want to:

1. Make the modifications in the source code
2. Open the new SM64DSe, click Edit Code, go to Edit, and click Compile Code.
3. Select the ASMPatchTemplate folder.
4. Type in the filename for the output ASM; it will be in the ASMPatchTemplate folder.
5. For the offset, type 02129020. This is the start of overlay 84, the Goomba overlay.
6. Compile, and fix errors. Make sure the output file is no more than 12524 bytes long.
7. Extract overlay 84.
8. Open the output file in a hex editor and copy its contents to overlay 84. Overwrite the overlay's contents, and don't change its file size.
9. Replace overlay 84 in SM64DSe.
10. Open newcode.map (in ASMPatchTemplate/bin) in a text editor and scroll down until you see this:
0x0212b060 GoombaColored::spawnDataBig
0x0212b07c GoombaColored::spawnDataSmall
0x0212b098 GoombaColored::spawnDataNormal
11. Open the ROM in a hex editor and go to offset 0x68b0. Type in the offset for GoombaColored::spawnDataNormal, then for *Small, then for *Big. The bytes go in little endian (reverse order). Save it.
12. Enjoy and hope for no crashes!

Notes:
The last arguments of TexSeq_SetFile, MatChg_SetMaterialDef, and ModelAnim_ChangeAnim (the start frame) are not in fixed point 20.12. Sorry for not commenting that.

The hack:
SM64DS + Colored Goombas

____________________
Current hack: Excerpt from Super Mario 256

Any map on a flat torus can be colored with at most 7 colors.

pacmainia&luigi
Posted on 01-07-17 01:30 PM Link | #80823
how did you make the color differ based on parameter? How can I do it with another object?

____________________
Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka.........

mibts
Posted on 01-08-17 03:13 PM Link | #80848
I hacked the Goombas and inserted a texture sequence in their model and code. Changing the parameter changes the frame of the texture sequence. If you want to look at the code, download the version of SM64DSe that I posted. Go to ASMPatchTemplate/source and open GoombaColored.cpp.

____________________
Current hack: Excerpt from Super Mario 256

Any map on a flat torus can be colored with at most 7 colors.

pacmainia&luigi
(post deleted) #80946


Main - General SM64DS hacking - Colored Goombas New reply

Page rendered in 0.054 seconds. (2048KB of memory used)
MySQL - queries: 28, rows: 199/199, time: 0.038 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2015-10-07)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.