summaryrefslogtreecommitdiff
path: root/src/poweruphax.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/poweruphax.S')
-rw-r--r--src/poweruphax.S373
1 files changed, 373 insertions, 0 deletions
diff --git a/src/poweruphax.S b/src/poweruphax.S
index ef957e2..16800e6 100644
--- a/src/poweruphax.S
+++ b/src/poweruphax.S
@@ -1044,3 +1044,376 @@ StrongboxGiveBattleItem:
.data
IndexItemsForStockItem:
.byte 0,1,2,4,5,6,3,7
+
+
+SLGWindow: .string "A00_Window"
+SLGBtn0: .string "B00_itemButton"
+SLGBtn1: .string "B01_itemButton"
+SLGBtn2: .string "B02_itemButton"
+SLGBtn3: .string "B03_itemButton"
+SLGBtn4: .string "B04_itemButton"
+SLGBtn5: .string "B05_itemButton"
+SLGBtn6: .string "B06_itemButton"
+SLGBtn7: .string "HammerGroup"
+SLButtonBase00: .string "P_buttonBase_00"
+SLButtonBase01: .string "P_buttonBase_01"
+SLButtonBase02: .string "P_buttonBase_02"
+SLButtonBase03: .string "P_buttonBase_03"
+SLButtonBase04: .string "P_buttonBase_04"
+SLButtonBase05: .string "P_buttonBase_05"
+SLButtonBase06: .string "P_buttonBase_06"
+SLButtonBase07: .string "P_buttonBase_07"
+SLIcon0: .string "P_iconKinoko_00"
+SLIcon1: .string "P_iconFlower_00"
+SLIcon2: .string "P_iconPro_00"
+SLIcon3: .string "P_iconIce_00"
+SLIcon4: .string "P_iconPen_00"
+SLIcon5: .string "P_mameKinoko_00"
+SLIcon6: .string "P_iconStar_00"
+SLIcon7: .string "P_iconHammer_00"
+SLIconPane0: .string "N_iconKinoko_00"
+SLIconPane1: .string "N_iconFlower_00"
+SLIconPane2: .string "N_iconPro_00"
+SLIconPane3: .string "N_iconIce_00"
+SLIconPane4: .string "N_iconPen_00"
+SLIconPane5: .string "N_mameKinoko_00"
+SLIconPane6: .string "N_iconStar_00"
+SLIconPane7: .string "N_iconHammer_00"
+.align 4
+SILayoutGroupNames:
+.long SLGWindow
+.long SLGBtn0,SLGBtn1,SLGBtn2,SLGBtn6,SLGBtn4,SLGBtn5,SLGBtn3
+.long SLGBtn0,SLGBtn1,SLGBtn2,SLGBtn6,SLGBtn4,SLGBtn5,SLGBtn3
+.long SLGBtn0,SLGBtn1,SLGBtn2,SLGBtn6,SLGBtn4,SLGBtn5,SLGBtn3
+.long SLGBtn0,SLGBtn1,SLGBtn2,SLGBtn6,SLGBtn4,SLGBtn5,SLGBtn3
+.long SLGWindow
+.long SLGBtn7,SLGBtn7,SLGBtn7
+SILayoutGroupIDs:
+.long 0
+.long 1,1,1,1,1,1,1
+.long 2,2,2,2,2,2,2
+.long 3,3,3,3,3,3,3
+.long 4,4,4,4,4,4,4
+.long 5
+.long 1,3,4
+
+SILayoutButtonBases:
+.long SLButtonBase00,SLButtonBase01,SLButtonBase02,SLButtonBase06
+.long SLButtonBase04,SLButtonBase05,SLButtonBase03,SLButtonBase07
+SILayoutIconPictures:
+.long SLIcon0,SLIcon1,SLIcon2,SLIcon3
+.long SLIcon4,SLIcon5,SLIcon6,SLIcon7
+SILayoutIconPanes:
+.long SLIconPane0,SLIconPane1,SLIconPane2,SLIconPane3
+.long SLIconPane4,SLIconPane5,SLIconPane6,SLIconPane7
+
+.text
+.global SILayoutGroupParams
+SILayoutGroupParams:
+ lis r4, SILayoutGroupNames@h
+ ori r4, r4, SILayoutGroupNames@l
+ lis r5, SILayoutGroupIDs@h
+ ori r5, r5, SILayoutGroupIDs@l
+ li r6, 0x21
+ blr
+
+# - 0x920 : Button Bases
+# - 0x940 : Icon Panes
+# - 0x960 : Icon Pictures
+.extern getPanes__Q23m2d13EmbedLayout_cCFPPCcPPQ34nw4r3lyt4Panei
+.extern getPictures__Q23m2d13EmbedLayout_cCFPPCcPPQ34nw4r3lyt7Picturei
+.extern ContinueFromSILayoutExtraStuffs
+.global SILayoutExtraStuffs
+SILayoutExtraStuffs:
+ addi r3, r30, 0x74
+ lis r4, SILayoutButtonBases@h
+ ori r4, r4, SILayoutButtonBases@l
+ addi r5, r30, 0x920
+ li r6, 8
+ bl getPictures__Q23m2d13EmbedLayout_cCFPPCcPPQ34nw4r3lyt7Picturei
+
+ addi r3, r30, 0x74
+ lis r4, SILayoutIconPanes@h
+ ori r4, r4, SILayoutIconPanes@l
+ addi r5, r30, 0x940
+ li r6, 8
+ bl getPanes__Q23m2d13EmbedLayout_cCFPPCcPPQ34nw4r3lyt4Panei
+
+ addi r3, r30, 0x74
+ lis r4, SILayoutIconPictures@h
+ ori r4, r4, SILayoutIconPictures@l
+ addi r5, r30, 0x960
+ li r6, 8
+ bl getPictures__Q23m2d13EmbedLayout_cCFPPCcPPQ34nw4r3lyt7Picturei
+
+ li r3, 1
+ b ContinueFromSILayoutExtraStuffs
+
+.global HideItemsByDefault
+.extern ContinueFromHideItemsByDefault
+HideItemsByDefault:
+ li r3, 8
+ mtctr r3
+ mr r4, r31
+meNext:
+ lwz r9, 0x960(r4)
+ lbz r5, 0xBB(r9)
+ rlwinm r5, r5, 0,24,30
+ stb r5, 0xBB(r9)
+ addi r4, r4, 4
+ bdnz meNext
+
+ li r8, 0
+ li r7, 1
+ li r6, 4
+ li r5, 0xE
+ li r0, 0xF
+ li r3, 1
+ b ContinueFromHideItemsByDefault
+
+.global AddHammerPowerupFinalValue
+AddHammerPowerupFinalValue:
+ li r24, 0
+ lis r22, OutputPowerupsByItemID@h
+ ori r22, r22, OutputPowerupsByItemID@l
+ blr
+
+.data
+OutputPowerupsByItemID:
+.long 1, 2, 4, 6, 5, 3, -1, 7
+
+.text
+.global FixStockItemEffectPlayer
+FixStockItemEffectPlayer:
+ lwz r0, 0x8A0(r30)
+ slwi r0, r0, 2
+ add r5, r30, r0
+ lwz r28, 0x940(r5)
+ blr
+
+.global FixStockItemEffectPlayer2
+FixStockItemEffectPlayer2:
+ lwz r0, 0x8A0(r30)
+ stw r0, 0x8D0(r30)
+ blr
+
+.global FixMoreSIEffectRelatedCrap
+FixMoreSIEffectRelatedCrap:
+ lwz r0, 0x8D0(r31)
+ slwi r0, r0, 2
+ add r3, r31, r0
+ lwz r29, 0x940(r3)
+ blr
+
+
+.global AddHammerSuitAddSound
+.extern MakeSFISound
+.extern ContinueFromSIAddSound
+AddHammerSuitAddSound:
+ cmpwi r0, 7
+ beq _MakeSFISound
+ b ContinueFromSIAddSound
+ _MakeSFISound:
+ b MakeSFISound
+
+.extern resetAnim__Q23m2d13EmbedLayout_cFib
+.extern ContinueFromResetHammerAnimOnOpen
+.global ResetHammerAnimOnOpen
+ResetHammerAnimOnOpen:
+ addi r3, r28, 0x74
+ li r4, 0x1E
+ li r5, 0
+ bl resetAnim__Q23m2d13EmbedLayout_cFib
+ addi r3, r28, 0x74
+ b ContinueFromResetHammerAnimOnOpen
+
+.extern ChosenStartChoice
+.global PickHammerAsPossibleStartChoice
+PickHammerAsPossibleStartChoice:
+ lwz r0, 0x918(r30)
+ li r3, 6
+ cmpwi r0, 0
+ beq notGoodEnough
+ stw r3, 0x8A0(r30)
+ b ChosenStartChoice
+notGoodEnough:
+ lwz r0, 0x91C(r30)
+ li r3, 7
+ cmpwi r0, 0
+ b _ChosenStartChoice
+ stw r3, 0x8A0(r30)
+ _ChosenStartChoice:
+ b ChosenStartChoice
+
+
+.global ChooseOldButtonOffAnim
+ChooseOldButtonOffAnim:
+ cmpwi r4, 7
+ beq useHammerOffAnim
+ addi r4, r4, 0x16
+ blr
+useHammerOffAnim:
+ li r4, 0x20
+ blr
+
+.global ChooseOldButtonOffAnim2
+ChooseOldButtonOffAnim2:
+ cmpwi r3, 7
+ beq useHammerOffAnim2
+ addi r0, r3, 0x16
+ blr
+useHammerOffAnim2:
+ li r0, 0x20
+ blr
+
+.global ChooseButtonOnAnim
+ChooseButtonOnAnim:
+ cmpwi r4, 7
+ beq useHammerOnAnim
+ addi r4, r4, 1
+ blr
+useHammerOnAnim:
+ li r4, 0x1E
+ blr
+
+.global DoSISelectCursor
+.extern UpdateSelectCursor
+DoSISelectCursor:
+ slwi r0, r0, 2
+ add r3, r3, r0
+ lwz r3, 0x920(r3)
+ b UpdateSelectCursor
+
+
+.global ChooseHitButtonAnim
+ChooseHitButtonAnim:
+ cmpwi r4, 7
+ beq useHammerHitAnim
+ addi r4, r4, 0xF
+ blr
+useHammerHitAnim:
+ li r4, 0x1F
+ blr
+
+
+
+.global UpdateCalcPowerupResult
+.extern ContinueFromCalcPowerupResult
+UpdateCalcPowerupResult:
+ cmpwi r3, 7
+ bne cprIsDone
+ li r6, 7
+ stb r0, 0xF(r1)
+cprIsDone:
+ b ContinueFromCalcPowerupResult
+
+
+
+
+.global SISLayoutExtraStuffs
+.extern ContinueFromSISLayoutExtraStuffs
+.extern findTextBoxByName__Q23m2d17EmbedLayoutBase_cCFPCc
+.extern findPictureByName__Q23m2d17EmbedLayoutBase_cCFPCc
+SISLayoutExtraStuffs:
+ addi r3, r30, 0x70
+ lis r4, whatever_s@h
+ ori r4, r4, whatever_s@l
+ bl findTextBoxByName__Q23m2d17EmbedLayoutBase_cCFPCc
+ stw r3, 0x288(r30)
+
+ addi r3, r30, 0x70
+ lis r4, fuck_brlyts@h
+ ori r4, r4, fuck_brlyts@l
+ bl findTextBoxByName__Q23m2d17EmbedLayoutBase_cCFPCc
+ stw r3, 0x284(r30)
+
+ addi r3, r30, 0x70
+ lis r4, im_tired_of_this@h
+ ori r4, r4, im_tired_of_this@l
+ bl findPictureByName__Q23m2d17EmbedLayoutBase_cCFPCc
+ stw r3, 0x28C(r30)
+
+ li r3, 1
+ b ContinueFromSISLayoutExtraStuffs
+
+.data
+whatever_s: .string "whatever"
+fuck_brlyts: .string "fuck_brlyts"
+im_tired_of_this: .string "im_tired_of_this"
+
+.text
+.global UpdateSIS
+.extern ContinueFromUpdateSIS
+.extern WriteNumberToTextBox__FPiPCiPQ34nw4r3lyt7TextBoxb
+UpdateSIS:
+ cmpwi r0, 0
+ beq DontUpdateSIS
+ subi r25, r25, 0x1C
+
+ # replicate this shit
+ lwz r0, 0x280(r25)
+ cmpwi r0, 0
+ lwz r3, 0x28C(r25)
+ lbz r0, 0xBB(r3)
+ beq theresNone
+
+ li r4, 1
+ rlwinm r0, r0, 0,24,30
+ b changedBase
+theresNone:
+ li r4, 0
+ ori r0, r0, 1
+changedBase:
+ stb r0, 0xBB(r3)
+ slwi r29, r4, 2
+ addi r5, r1, 0x14
+ lwzx r27, r26, r29
+ li r4, 0
+ stw r27, 0x14(r1)
+ lwz r3, 0x284(r25)
+ lwz r12, 0(r3)
+ lwz r12, 0x28(r12)
+ mtctr r12
+ bctrl
+
+ lwzx r29, r28, r29
+ addi r5, r1, 0x10
+ stw r29, 0x10(r1)
+ li r4, 2
+ lwz r3, 0x284(r25)
+ lwz r12, 0(r3)
+ lwz r12, 0x28(r12)
+ mtctr r12
+ bctrl
+
+ addi r5, r1, 0x14
+ li r4, 0
+ lwz r3, 0x288(r25)
+ lwz r12, 0(r3)
+ lwz r12, 0x28(r12)
+ mtctr r12
+ bctrl
+
+ addi r5, r1, 0x10
+ li r4, 2
+ lwz r3, 0x288(r25)
+ lwz r12, 0(r3)
+ lwz r12, 0x28(r12)
+ mtctr r12
+ bctrl
+
+ lwz r5, 0x284(r25)
+ addi r3, r25, 0x280
+ lis r4, ptrToTwo@h
+ ori r4, r4, ptrToTwo@l
+ li r6, 1
+ bl WriteNumberToTextBox__FPiPCiPQ34nw4r3lyt7TextBoxb
+
+DontUpdateSIS:
+ addi r11, r1, 0x40
+ b ContinueFromUpdateSIS
+
+.data
+.align 4
+ptrToTwo: .long 2
+