summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2011-12-31 04:52:22 +0100
committerTreeki <treeki@gmail.com>2011-12-31 04:52:22 +0100
commit4b620ff49913dbd03b89056f5d0db74ae71b9b92 (patch)
tree63e4002dc44fce169071b1bf566adeaf798b17cd /src
parentd38eb8eba964184a39b26d3327d5e81ed90f6ab4 (diff)
downloadkamek-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.S53
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"
+
+