diff options
author | Treeki <treeki@gmail.com> | 2011-12-31 04:52:22 +0100 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2011-12-31 04:52:22 +0100 |
commit | 4b620ff49913dbd03b89056f5d0db74ae71b9b92 (patch) | |
tree | 63e4002dc44fce169071b1bf566adeaf798b17cd /src | |
parent | d38eb8eba964184a39b26d3327d5e81ed90f6ab4 (diff) | |
download | kamek-4b620ff49913dbd03b89056f5d0db74ae71b9b92.tar.gz kamek-4b620ff49913dbd03b89056f5d0db74ae71b9b92.zip |
a hack to add custom music that may or may not work
Diffstat (limited to 'src')
-rw-r--r-- | src/music.S | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/music.S b/src/music.S new file mode 100644 index 0000000..59c86a0 --- /dev/null +++ b/src/music.S @@ -0,0 +1,53 @@ +.text + +# An Epic Music Hack + +.extern SoundRelatedClass +.extern sprintf +.global HaxMusic + +HaxMusic: + cmpwi r3, 100 + bltlr + + stwu r1, -0x10(r1) + mflr r0 + stw r0, 0x14(r1) + stw r31, 0xC(r1) + stw r30, 0x8(r1) + + mr r31, r3 + + lis r3, SoundRelatedClass@h + ori r3, r3, SoundRelatedClass@l + lwz r3, 0(r3) + lwz r30, 0x5CC(r3) + addis r30, r30, 3 + + subi r3, r30, 0x6A84 + lis r4, RegularMusic@h + ori r4, r4, RegularMusic@l + mr r5, r31 + bl sprintf + + subi r3, r30, 0x6A0C + lis r4, FastMusic@h + ori r4, r4, FastMusic@l + mr r5, r31 + bl sprintf + + li r3, 1 + + lwz r0, 0x14(r1) + lwz r31, 0xC(r1) + lwz r30, 0x8(r1) + mtlr r0 + addi r1, r1, 0x10 + blr + + +.data +RegularMusic: .string "stream/theme%03d.brstm" +FastMusic: .string "stream/theme%03d_fast.brstm" + + |