diff options
| -rw-r--r-- | spritetex.yaml | 15 | ||||
| -rwxr-xr-x | src/spritetex.S | 41 | 
2 files changed, 56 insertions, 0 deletions
| diff --git a/spritetex.yaml b/spritetex.yaml index a2139f2..c4d7e0d 100644 --- a/spritetex.yaml +++ b/spritetex.yaml @@ -1,6 +1,21 @@  ---  source_files: [../src/spritetex.S]  hooks: +  - name: BigBlockSound1 +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x809B8EBC +    target_func: 'BigBlockSound' +  - name: BigBlockSound2 +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x809B9040 +    target_func: 'BigBlockSound' +  - name: BigBlockLeapingItem +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x809B91A4 +    target_func: 'BigBlockLeapingItem'    # - name: BlackClouds    #   type: patch diff --git a/src/spritetex.S b/src/spritetex.S index f5d5ee5..7c342d8 100755 --- a/src/spritetex.S +++ b/src/spritetex.S @@ -21,6 +21,47 @@  .set sp, 1 +.global BigBlockSound +.extern Delete__7fBase_cFv +.extern PlaySoundWithFunctionB4 +.extern SoundRelatedClass +.extern DetachSound__Q34nw4r3snd11SoundHandleFv +BigBlockSound: +	stwu r1, -0x10(r1) +	mflr r0 +	stw r0, 0x14(r1) +	stw r31, 8(r1) +	mr r31, r3 + +	# create a SoundHandle +	li r3, 0 +	stw r3, 0xC(r1) + +	# call PSWFB4 +	lis r3, SoundRelatedClass@h +	ori r3, r3, SoundRelatedClass@l +	lwz r3, 0(r3) +	addi r4, r1, 0xC +	li r5, 510 +	li r6, 1 +	bl PlaySoundWithFunctionB4 + +	# destroy SoundHandle +	addi r3, r1, 0xC +	bl DetachSound__Q34nw4r3snd11SoundHandleFv + +	mr r3, r31 +	lwz r31, 8(r1) +	lwz r0, 0x14(r1) +	mtlr r0 +	addi r1, r1, 0x10 +	b Delete__7fBase_cFv + +.global BigBlockLeapingItem +BigBlockLeapingItem: +	oris r0, r0, 0xD00 +	blr +  .global BooZOrder  BooZOrder:  	mr r3, r30 | 
