diff options
-rw-r--r-- | poweruphax.yaml | 31 | ||||
-rw-r--r-- | src/koopatlas/core.cpp | 18 | ||||
-rw-r--r-- | src/poweruphax.S | 38 |
3 files changed, 77 insertions, 10 deletions
diff --git a/poweruphax.yaml b/poweruphax.yaml index 7d88437..8545048 100644 --- a/poweruphax.yaml +++ b/poweruphax.yaml @@ -954,3 +954,34 @@ hooks: src_addr_pal: 0x807B2524 target_func: 'UpdateSIS' +# And now, the item itself + + - name: AddIHammer1 + type: add_func_pointer + src_addr_pal: 0x80983334 + target_func: 'I_hammerArcFilename' + - name: ReplaceLostPropellerModel + type: add_func_pointer + src_addr_pal: 0x80983350 + target_func: 'I_propeller_model' + - name: InsertLostG3D + type: branch_insn + branch_type: bl + src_addr_pal: 0x808D4C80 + target_func: 'InsertLostG3D' + - name: AddPtrToSIHammer + type: add_func_pointer + src_addr_pal: 0x809833D4 + target_func: 'SI_hammer' + + - name: SkawoHatesMe + type: branch_insn + branch_type: bl + src_addr_pal: 0x808D4CCC + target_func: 'SkawoHatesMe' + - name: SkawoStillHatesMe + type: branch_insn + branch_type: bl + src_addr_pal: 0x808D4CEC + target_func: 'SkawoStillHatesMe' + diff --git a/src/koopatlas/core.cpp b/src/koopatlas/core.cpp index f0a57af..f130359 100644 --- a/src/koopatlas/core.cpp +++ b/src/koopatlas/core.cpp @@ -142,15 +142,9 @@ bool WMInit_LoadSIAnims(void *ptr) { DVD_LoadFile(GetDVDClass(), "WorldMap", "SI_penguin", 0); DVD_LoadFile(GetDVDClass(), "WorldMap", "SI_propeller", 0); DVD_LoadFile(GetDVDClass(), "WorldMap", "SI_star", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_hammer", 0); + DVD_LoadFile(GetDVDClass(), "Maps", "SI_hammer", 0); + DVD_LoadFile(GetDVDClass(), "Object", "cobCourse", 0); - DVD_LoadFile(GetDVDClass(), "Object", "obj_coin", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_kinoko", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_fireflower", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_iceflower", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_penguin", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_propeller", 0); - DVD_LoadFile(GetDVDClass(), "Object", "I_star", 0); DVD_LoadFile(GetDVDClass(), "Object", "I_kinoko_bundle", 0); DVD_LoadFile(GetDVDClass(), "Object", "lakitu", 0); DVD_LoadFile(GetDVDClass(), "Object", "star_coin", 0); @@ -241,7 +235,7 @@ bool WMInit_SetupExtra(void *ptr) { // next: items for the Powerup screen for (int i = 0; i < 8; i++) { - void *obj = CreateChildObject(WM_ITEM, wm, i==7?6:i, 0, 0); + void *obj = CreateChildObject(WM_ITEM, wm, i, 0, 0); wm->stockItem->newItemPtr[i] = obj; } @@ -437,6 +431,12 @@ int dScKoopatlas_c::onDelete() { DVD_FreeFile(GetDVDClass2(), "SI_penguin"); DVD_FreeFile(GetDVDClass2(), "SI_propeller"); DVD_FreeFile(GetDVDClass2(), "SI_star"); + DVD_FreeFile(GetDVDClass2(), "SI_hammer"); + + DVD_FreeFile(GetDVDClass2(), "cobCourse"); + DVD_FreeFile(GetDVDClass2(), "I_kinoko_bundle"); + DVD_FreeFile(GetDVDClass2(), "lakitu"); + DVD_FreeFile(GetDVDClass2(), "star_coin"); mapListLoader.unload(); diff --git a/src/poweruphax.S b/src/poweruphax.S index 16800e6..2a65f3e 100644 --- a/src/poweruphax.S +++ b/src/poweruphax.S @@ -961,12 +961,26 @@ g3d_I_kinoko_brres: .string "g3d/I_kinoko.brres" .global I_propeller_model I_propeller_model: .string "I_propeller_model" +.global SI_kinoko +SI_kinoko: .string "SI_kinoko" + +.global SI_hammer +SI_hammer: .string "SI_hammer" + +g3d: .string "g3d/" + .text .global AddHSToBattleItem_FixWait2Anim AddHSToBattleItem_FixWait2Anim: lis r4, wait2@h ori r4, r4, wait2@l blr + +.global InsertLostG3D +InsertLostG3D: + lis r4, g3d@h + ori r4, r4, g3d@l + blr .data wait2: .string "wait2" @@ -1240,7 +1254,7 @@ notGoodEnough: lwz r0, 0x91C(r30) li r3, 7 cmpwi r0, 0 - b _ChosenStartChoice + beq _ChosenStartChoice stw r3, 0x8A0(r30) _ChosenStartChoice: b ChosenStartChoice @@ -1417,3 +1431,25 @@ DontUpdateSIS: .align 4 ptrToTwo: .long 2 +.text +.global SkawoHatesMe, SkawoStillHatesMe + +SkawoHatesMe: + lwzx r4, r27, r0 + cmpwi r0, 28 + bnelr + lis r5, SkawoFucksDucks@h + ori r5, r5, SkawoFucksDucks@l + blr +SkawoStillHatesMe: + lwzx r4, r4, r0 + cmpwi r0, 28 + bnelr + lis r4, DuckFuckersUnited@h + ori r4, r4, DuckFuckersUnited@l + blr +.data +SkawoFucksDucks: .string "g3d/I_fireflower.brres" +DuckFuckersUnited: .string "I_fireflower" +.align 4 + |