From 80688e9e682a1fb354160f729d4caff394831e9e Mon Sep 17 00:00:00 2001 From: Colin Noga Date: Wed, 13 Apr 2011 20:01:55 -0400 Subject: This is bollox, these sprites --- spritetex.yaml | 33 ++++++++++++++++++++++++------ src/spritetex.S | 63 +++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 77 insertions(+), 19 deletions(-) diff --git a/spritetex.yaml b/spritetex.yaml index feeec7c..0981298 100644 --- a/spritetex.yaml +++ b/spritetex.yaml @@ -70,6 +70,13 @@ hooks: target_func: 'TEX_Buzzy' + - name: TEX_BuzzyShell + type: branch_insn + branch_type: bl + src_addr_pal: 0x80A67540 + target_func: 'TEX_BuzzyShell' + + - name: TEX_SpikeTop type: branch_insn branch_type: bl @@ -77,11 +84,18 @@ hooks: target_func: 'TEX_SpikeTop' +# - name: TEX_SpinyShell +# type: branch_insn +# branch_type: bl +# src_addr_pal: 0x8003DBF8 +# target_func: 'TEX_SpinyShell' + + - name: TEX_Spiny type: branch_insn branch_type: bl - src_addr_pal: 0x80038208 - target_func: 'TEX_Spiny' + src_addr_pal: 0x8003DD0C + target_func: 'TEX_Spiny' - name: TEX_SpringBlock @@ -105,10 +119,17 @@ hooks: target_func: 'TEX_Koopa' + - name: TEX_KoopaShell + type: branch_insn + branch_type: bl + src_addr_pal: 0x80A72644 + target_func: 'TEX_Koopa' + + - name: TEX_Gabon type: branch_insn branch_type: bl - src_addr_pal: 0x80A00284 + src_addr_pal: 0x80A00290 target_func: 'TEX_Gabon' @@ -122,14 +143,14 @@ hooks: - name: TEX_Switch type: branch_insn branch_type: bl - src_addr_pal: 0x80A19EC8 + src_addr_pal: 0x80A19ED4 target_func: 'TEX_Switch' - name: TEX_WiggleShroom type: branch_insn branch_type: bl - src_addr_pal: 0x800BC9D8 + src_addr_pal: 0x800BC9D8 target_func: 'TEX_WiggleShroom' @@ -164,7 +185,7 @@ hooks: - name: TEX_Parabeetle type: branch_insn branch_type: bl - src_addr_pal: 0x80A83254 + src_addr_pal: 0x80A83260 target_func: 'TEX_Parabeetle' diff --git a/src/spritetex.S b/src/spritetex.S index 504cf5f..920036c 100644 --- a/src/spritetex.S +++ b/src/spritetex.S @@ -121,6 +121,13 @@ TEX_Buzzy: andi. r5, r5, 0xF b GetTexFilenameForR5 +.global TEX_BuzzyShell +TEX_BuzzyShell: + lwz r5, 4(r3) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + .global TEX_SpikeTop TEX_SpikeTop: @@ -132,7 +139,15 @@ TEX_SpikeTop: .global TEX_Spiny TEX_Spiny: - lwz r5, 4(r27) + lwz r5, 4(r30) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + + +.global TEX_SpinyShell +TEX_SpinyShell: + lwz r5, 4(r3) srwi r5, r5, 24 andi. r5, r5, 0xF b GetTexFilenameForR5 @@ -156,14 +171,9 @@ TEX_Coaster: .global TEX_Koopa TEX_Koopa: -<<<<<<< HEAD lwz r5, 4(r29) srwi r5, r5, 24 andi. r5, r5, 0xF -======= - lwz r5, 4(r30) - andi. r5, r5, 0xF ->>>>>>> 6e93a3612c2d4ce6e11ab53d2490eb30c0e262bf b GetTexFilenameForR5 @@ -193,12 +203,43 @@ TEX_Switch: .global TEX_WiggleShroom TEX_WiggleShroom: - lwz r5, 4(r30) - # This could be r29, or r28 + lwz r5, 4(r4) + # This sprite is pretty complex + # The register with THIS is r29 + # before the loading function, + # it passes it into r3, and then mr's + # it into r30. r3 is then overwritten. + # Then, it puts r31 into r5, r30 partly + # into r3 and partly into r4. Why? + # So, the possibilities for THIS are + # r30, r3, and r4, no? In the next function, + # r30 is stored over before our getFile, as + # are r29/r28. + srwi r5, r5, 24 andi. r5, r5, 0xF b GetTexFilenameForR5 + lwz r5, 4(r3) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + + lwz r5, 4(r29) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + + lwz r5, 4(r30) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + + lwz r5, 4(r31) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + .global TEX_Bramball TEX_Bramball: @@ -292,11 +333,7 @@ TEX_Boo: TEX_Midway: lwz r5, 4(r29) srwi r5, r5, 24 -<<<<<<< HEAD andi. r5, r5, 0xFF -======= - andi. r5, r5, 0xF ->>>>>>> 6e93a3612c2d4ce6e11ab53d2490eb30c0e262bf b GetTexFilenameForR5 @@ -310,7 +347,7 @@ TEX_Goal: .global TEX_StretchMush TEX_StretchMush: - lwz r5, 4(r30) + lwz r5, 4(r27) srwi r5, r5, 24 andi. r5, r5, 0xF b GetTexFilenameForR5 -- cgit v1.2.3