diff options
author | Treeki <treeki@gmail.com> | 2013-05-12 23:25:49 +0200 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2013-05-12 23:25:49 +0200 |
commit | 7f770e59f2aa8a392cc78285a0422120dc1d6ede (patch) | |
tree | 08102210e44f7e61c33c59403b4bfd42ea949311 | |
parent | 0164f9c6879ab366db314e545c9785b59cd043a3 (diff) | |
download | kamek-7f770e59f2aa8a392cc78285a0422120dc1d6ede.tar.gz kamek-7f770e59f2aa8a392cc78285a0422120dc1d6ede.zip |
added line lift nybble 11
-rw-r--r-- | bugfixes.yaml | 5 | ||||
-rw-r--r-- | kamek_pal.x | 2 | ||||
-rw-r--r-- | src/randomcrap.S | 55 |
3 files changed, 62 insertions, 0 deletions
diff --git a/bugfixes.yaml b/bugfixes.yaml index 819d568..f98489f 100644 --- a/bugfixes.yaml +++ b/bugfixes.yaml @@ -275,3 +275,8 @@ hooks: branch_type: bl
src_addr_pal: 0x808399D4
target_func: 'FuckLineLiftWithARake'
+ - name: AlsoFuckTheLineLiftActivation
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80839B00
+ target_func: 'AlsoFuckTheLineLiftActivation'
diff --git a/kamek_pal.x b/kamek_pal.x index f25905d..5f5eeef 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -1,4 +1,6 @@ SECTIONS { + ContinueFromFuckLineLiftActivation = 0x80839B04; + GabonRock_DropOutState = 0x80998CF0; GabonRock_CrushState = 0x80998CB0; forceHCGROPushBack = 0x8001DED0; diff --git a/src/randomcrap.S b/src/randomcrap.S index 88cba39..29bf758 100644 --- a/src/randomcrap.S +++ b/src/randomcrap.S @@ -317,6 +317,7 @@ BigMetSlidingFix: blr .global FuckLineLiftWithARake +.extern ContinueFromFuckLineLiftActivation FuckLineLiftWithARake: stfs f0, 0x324(r28) lis r4, sfsdfsdf@h @@ -325,6 +326,60 @@ FuckLineLiftWithARake: stfs f0, 0x318(r28) stfs f0, 0x31C(r28) blr +.global AlsoFuckTheLineLiftActivation +AlsoFuckTheLineLiftActivation: + stwu r1, -0x10(r1) + lwz r6, 4(r3) + extrwi. r6, r6, 4,24 + bne myLineLiftActivator + b ContinueFromFuckLineLiftActivation +myLineLiftActivator: + mflr r0 + stw r0, 0x14(r1) + stw r31, 0xC(r1) + li r31, 0 + stw r30, 0x8(r1) + lwz r30, 0x518(r3) + b llaStartLoop +llaLoop: + lwz r3, 4(r30) + lbz r0, 0x38C(r3) + cmplwi r0, 1 + bne llaNotPlayer + addi r31, r31, 1 + b llaNext +llaNotPlayer: + cmplwi r0, 2 + bne llaNext + lwz r12, 0x60(r3) + lwz r12, 0x6C(r12) + mtctr r12 + bctrl + lbz r0, 0(r3) + extsb r0, r0 + cmplwi r0, 4 + bge llaNext + addi r31, r31, 1 +llaNext: + lwz r30, 0xC(r30) +llaStartLoop: + cmpwi r30, 0 + bne llaLoop + + cmpwi r31, 0 + beq llaReturnZero + li r3, 1 + b llaReturn +llaReturnZero: + li r3, 0 +llaReturn: + lwz r31, 0xC(r1) + lwz r30, 8(r1) + lwz r0, 0x14(r1) + mtlr r0 + addi r1, r1, 0x10 + blr + .data sfsdfsdf: .float 512.0 |