summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bugfixes.yaml10
-rw-r--r--soundPlayer.yaml6
-rw-r--r--src/randomcrap.S24
3 files changed, 34 insertions, 6 deletions
diff --git a/bugfixes.yaml b/bugfixes.yaml
index 7e843b4..2180953 100644
--- a/bugfixes.yaml
+++ b/bugfixes.yaml
@@ -317,3 +317,13 @@ hooks:
branch_type: b
src_addr_pal: 0x80839B00
target_func: 'AlsoFuckTheLineLiftActivation'
+
+ - name: ThwompNewAutoDestruction
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x809F5E44
+ target_func: 'ThwompNewAutoDestruction'
+
+ - name: ThwompNeverDieOutOfZone
+ type: nop_insn
+ area_pal: 0x809F5E40
diff --git a/soundPlayer.yaml b/soundPlayer.yaml
index 29bb94f..874b0e8 100644
--- a/soundPlayer.yaml
+++ b/soundPlayer.yaml
@@ -1,9 +1,3 @@
---
source_files: [../src/soundPlayer.S]
-hooks:
-
- - name: ThwompaDompDontDie2
- type: patch
- data: '60000000'
- addr_pal: 0x809F5E40
diff --git a/src/randomcrap.S b/src/randomcrap.S
index b2d34ce..18dffa5 100644
--- a/src/randomcrap.S
+++ b/src/randomcrap.S
@@ -1,5 +1,29 @@
.text
+.global ThwompNewAutoDestruction
+ThwompNewAutoDestruction:
+ lfs f1, 0xB0(r31)
+ lis r3, ThwompDestroyAt@h
+ ori r3, r3, ThwompDestroyAt@l
+ lfs f2, 0(r3)
+ fcmpo cr0, f1, f2
+ bgt dontDestroyMe
+ mr r3, r31
+.extern Delete__13dStageActor_cFUc
+ lbz r4, 0x390(r3)
+ bl Delete__13dStageActor_cFUc
+dontDestroyMe:
+ li r3, 1
+ lwz r31, 0xC(r1)
+ lwz r0, 0x14(r1)
+ mtlr r0
+ addi r1, r1, 0x10
+ blr
+
+.data
+.align 4
+ThwompDestroyAt: .float -7533.0
+.text
.global TitleScreenFucker
.extern RESTART_CRSIN_LevelStartStruct
.extern SaveFileBuffer