From 4c8f7e0c1e6d219b5642e322d37dc6169de50d2c Mon Sep 17 00:00:00 2001 From: Treeki Date: Sat, 4 Feb 2012 21:36:43 +0100 Subject: ported Another sprite 38 fix to Newer --- anotherhax.yaml | 2 +- bugfixes.yaml | 14 +++++++------- src/anotherhax.S | 23 ----------------------- src/fix38.S | 24 ++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 31 deletions(-) delete mode 100644 src/anotherhax.S create mode 100644 src/fix38.S diff --git a/anotherhax.yaml b/anotherhax.yaml index 4fe904c..b09081b 100644 --- a/anotherhax.yaml +++ b/anotherhax.yaml @@ -1,4 +1,4 @@ -source_files: [../src/anotherhax.S] +source_files: [../src/fix38.S] hooks: - {addr_pal: 0x8000D064, data: '280000FF', name: Fix1, type: patch} - {addr_pal: 0x80079BD0, data: '280000FF', name: Fix2, type: patch} diff --git a/bugfixes.yaml b/bugfixes.yaml index 0ca99c7..63cc6a2 100644 --- a/bugfixes.yaml +++ b/bugfixes.yaml @@ -1,5 +1,5 @@ --- -source_files: [../src/randomcrap.S, ../src/music.S] +source_files: [../src/randomcrap.S, ../src/music.S, ../src/fix38.S] hooks: - name: MusicHax type: branch_insn @@ -7,12 +7,12 @@ hooks: branch_type: b target_func: 'HaxMusic' - - name: FixCoinJump - type: patch - addr_ntsc: 0x809E75F0 - addr_pal: 0x809E75D0 - data: '38800008 B0830364 4e800020' #li r4,8; sth r4,0x364(r3); blr - + - name: Fix38WithJumpCoin + src_addr_pal: 0x807EBC5C + type: branch_insn + branch_type: b + target_func: 'fix38WithJumpCoin' + - name: 1-1 BG Fix type: patch addr_ntsc: 0x80117F6C diff --git a/src/anotherhax.S b/src/anotherhax.S deleted file mode 100644 index ca0a658..0000000 --- a/src/anotherhax.S +++ /dev/null @@ -1,23 +0,0 @@ -.set sp, 1 - -.extern continueFromFlagObjCheck -.extern returnFromFlagObjCheck - -.global fix38WithJumpCoin - -.text - -fix38WithJumpCoin: - # hacky fix because I can't figure out how to do it the right way - - # check actor type for EN_COIN_JUMP - lhz r0, 8(r3) - cmplwi r0, 403 - bne dontContinue - b continueFromFlagObjCheck -dontContinue: - - # it wasn't that, so just return 0 - li r3, 0 - b returnFromFlagObjCheck - diff --git a/src/fix38.S b/src/fix38.S new file mode 100644 index 0000000..09c3ac6 --- /dev/null +++ b/src/fix38.S @@ -0,0 +1,24 @@ +.set sp, 1 + +.extern continueFromFlagObjCheck +.extern returnFromFlagObjCheck + +.global fix38WithJumpCoin + +.text + +fix38WithJumpCoin: + # hacky fix because I can't figure out how to do it the right way + + # check actor type for EN_COIN_JUMP + lhz r0, 8(r3) + cmplwi r0, 403 + beq continueFromFlagObjCheck + # and EN_HATENA_BALLOON + cmplwi r0, 221 + beq continueFromFlagObjCheck + + # it wasn't that, so just return 0 + li r3, 0 + b returnFromFlagObjCheck + -- cgit v1.2.3