diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-02-19 16:01:53 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-19 18:01:53 -0600 |
commit | c754c2a0466d8394c7ffcb3a515199d5703e47be (patch) | |
tree | 42463d69e3642a4ada17614cac4653a02dac9338 /asm | |
parent | 8dfd044ef3a6ea8da204265b4560716aa67391d1 (diff) |
Decomp more of personality_test (#27)
* decomp most of personality_test
* just gonna move the funcs to src in assembly for now so I can combine stuff
* label another func and some cleanup
* one func of personality test left in asm
* small cleanups and labeling of funcs
Diffstat (limited to 'asm')
-rw-r--r-- | asm/credits.s | 10 | ||||
-rw-r--r-- | asm/main_menu.s | 34 | ||||
-rw-r--r-- | asm/personality_test.s | 1021 | ||||
-rw-r--r-- | asm/personality_test_2.s | 106 |
4 files changed, 128 insertions, 1043 deletions
diff --git a/asm/credits.s b/asm/credits.s index fa7810b..b0c4564 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -69,7 +69,7 @@ _08035472: _080354C0: .4byte gUnknown_203B340 _080354C4: .4byte gUnknown_80E4A10 _080354C8: .4byte gUnknown_80E4A28 -_080354CC: .4byte gUnknown_80E591C +_080354CC: .4byte gCreditsTable _080354D0: ldr r2, [r1, 0x8] movs r3, 0x4 @@ -157,7 +157,7 @@ _08035542: pop {r1} bx r1 .align 2, 0 -_08035570: .4byte gCreditsTable +_08035570: .4byte gCreditsText thumb_func_end sub_8035444 thumb_func_start sub_8035574 @@ -201,7 +201,7 @@ _080355A8: b _08035654 .align 2, 0 _080355C8: .4byte gUnknown_203B340 -_080355CC: .4byte gCreditsTable +_080355CC: .4byte gCreditsText _080355D0: bl sub_8099B94 lsls r0, 24 @@ -233,7 +233,7 @@ _08035600: str r0, [r1, 0x64] b _08035654 .align 2, 0 -_0803560C: .4byte gCreditsTable +_0803560C: .4byte gCreditsText _08035610: bl sub_8099B94 lsls r0, 24 @@ -262,7 +262,7 @@ _08035638: movs r0, 0x3 b _08035656 .align 2, 0 -_08035650: .4byte gCreditsTable +_08035650: .4byte gCreditsText _08035654: movs r0, 0 _08035656: diff --git a/asm/main_menu.s b/asm/main_menu.s index 1d102e8..8d33b1b 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -286,8 +286,8 @@ _08035E0A: bx r1 thumb_func_end sub_8035DB4 - thumb_func_start sub_8035E10 -sub_8035E10: + thumb_func_start DrawMainMenu +DrawMainMenu: push {r4-r7,lr} mov r7, r8 push {r7} @@ -335,7 +335,7 @@ _08035E42: movs r1, 0x1 movs r2, 0x1 bl sub_800641C - bl sub_803628C + bl SetMainMenuItems ldr r0, [r4] movs r7, 0xD2 lsls r7, 1 @@ -343,7 +343,7 @@ _08035E42: movs r1, 0x1 negs r1, r1 str r1, [r0] - bl SetMainMenuType + bl SetMainMenuText lsls r0, 24 cmp r0, 0 beq _08035E9A @@ -369,10 +369,10 @@ _08035E9A: .align 2, 0 _08035EB8: .4byte gUnknown_203B34C _08035EBC: .4byte gUnknown_80E59C8 - thumb_func_end sub_8035E10 + thumb_func_end DrawMainMenu - thumb_func_start sub_8035EC0 -sub_8035EC0: + thumb_func_start CleanMainMenu +CleanMainMenu: push {r4,lr} bl ResetUnusedInputStruct movs r0, 0 @@ -392,7 +392,7 @@ _08035EE0: bx r0 .align 2, 0 _08035EE8: .4byte gUnknown_203B34C - thumb_func_end sub_8035EC0 + thumb_func_end CleanMainMenu thumb_func_start sub_8035EEC sub_8035EEC: @@ -426,7 +426,7 @@ _08035F0A: mov r1, sp bl sub_8013114 _08035F28: - bl SetMainMenuType + bl SetMainMenuText lsls r0, 24 cmp r0, 0 beq _08035F4A @@ -553,8 +553,8 @@ _0803601A: bx r1 thumb_func_end sub_8035EEC - thumb_func_start SetMainMenuType -SetMainMenuType: + thumb_func_start SetMainMenuText +SetMainMenuText: push {r4-r6,lr} sub sp, 0x10 ldr r6, _08036048 @@ -789,7 +789,7 @@ _08036226: _08036230: .4byte gUnknown_203B34C _08036234: .4byte gUnknown_80E5CB4 _08036238: .4byte gUnknown_80E5D48 - thumb_func_end SetMainMenuType + thumb_func_end SetMainMenuText thumb_func_start sub_803623C sub_803623C: @@ -801,7 +801,7 @@ sub_803623C: adds r0, r1 movs r1, 0x1 bl sub_8035CC0 - bl sub_803628C + bl SetMainMenuItems ldr r0, [r4] movs r1, 0xD2 lsls r1, 1 @@ -809,7 +809,7 @@ sub_803623C: movs r1, 0x1 negs r1, r1 str r1, [r0] - bl SetMainMenuType + bl SetMainMenuText lsls r0, 24 cmp r0, 0 beq _08036276 @@ -831,8 +831,8 @@ _08036276: _08036288: .4byte gUnknown_203B34C thumb_func_end sub_803623C - thumb_func_start sub_803628C -sub_803628C: + thumb_func_start SetMainMenuItems +SetMainMenuItems: push {r4,lr} sub sp, 0x10 bl sub_8011C34 @@ -984,7 +984,7 @@ _080363D0: .4byte gUnknown_203B34C _080363D4: .4byte gUnknown_80E59E0 _080363D8: .4byte gUnknown_80E59F8 _080363DC: .4byte gUnknown_203B350 - thumb_func_end sub_803628C + thumb_func_end SetMainMenuItems thumb_func_start sub_80363E0 sub_80363E0: diff --git a/asm/personality_test.s b/asm/personality_test.s deleted file mode 100644 index ad191c9..0000000 --- a/asm/personality_test.s +++ /dev/null @@ -1,1021 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_803C870 -sub_803C870: - push {r4-r6,lr} - sub sp, 0x14 - ldr r5, _0803C8A4 - ldr r1, [r5] - ldr r0, [r1, 0x38] - adds r0, 0x1 - str r0, [r1, 0x38] - cmp r0, 0x8 - ble _0803C8B4 - ldr r0, _0803C8A8 - ldr r3, _0803C8AC - movs r1, 0 - str r1, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - ldr r1, _0803C8B0 - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - ldr r0, [r5] - str r4, [r0, 0x34] - b _0803C8F8 - .align 2, 0 -_0803C8A4: .4byte gUnknown_203B400 -_0803C8A8: .4byte gGenderText -_0803C8AC: .4byte gUnknown_80F275C -_0803C8B0: .4byte 0x00000101 -_0803C8B4: - adds r4, r5, 0 -_0803C8B6: - movs r0, 0x37 - bl RandomCapped - ldr r1, [r4] - str r0, [r1, 0x3C] - adds r1, 0x78 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x1 - beq _0803C8B6 - ldr r2, _0803C900 - ldr r1, _0803C904 - ldr r0, [r1] - ldr r0, [r0, 0x3C] - adds r0, r2 - ldrb r4, [r0] - movs r3, 0 - adds r6, r1, 0 - movs r5, 0x1 -_0803C8DC: - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, r4 - bne _0803C8EC - ldr r0, [r1] - adds r0, 0x78 - adds r0, r3 - strb r5, [r0] -_0803C8EC: - adds r3, 0x1 - cmp r3, 0x36 - ble _0803C8DC - ldr r1, [r6] - movs r0, 0x1 - str r0, [r1, 0x34] -_0803C8F8: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C900: .4byte gNatureQuestionTable -_0803C904: .4byte gUnknown_203B400 - thumb_func_end sub_803C870 - - thumb_func_start sub_803C908 -sub_803C908: - push {lr} - bl sub_803CC04 - ldr r0, _0803C91C - ldr r1, [r0] - movs r0, 0x2 - str r0, [r1, 0x34] - pop {r0} - bx r0 - .align 2, 0 -_0803C91C: .4byte gUnknown_203B400 - thumb_func_end sub_803C908 - - thumb_func_start sub_803C920 -sub_803C920: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803C97C - ldr r3, [sp] - cmp r3, 0x63 - bne _0803C944 - ldr r0, _0803C940 - ldr r1, [r0] - movs r0, 0x37 - str r0, [r1, 0x3C] - movs r0, 0x1 - b _0803C97A - .align 2, 0 -_0803C940: .4byte gUnknown_203B400 -_0803C944: - ldr r1, _0803C984 - ldr r2, _0803C988 - ldr r0, [r2] - ldr r0, [r0, 0x3C] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r4, [r0, 0x8] - lsls r0, r3, 4 - adds r4, r0 - movs r3, 0 - adds r6, r2, 0 - adds r5, r6, 0 -_0803C95E: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, 0x44 - adds r1, r0 - adds r0, r4, r3 - ldrb r2, [r0] - ldr r0, [r1] - adds r0, r2 - str r0, [r1] - adds r3, 0x1 - cmp r3, 0xC - ble _0803C95E - ldr r1, [r6] - movs r0, 0 -_0803C97A: - str r0, [r1, 0x34] -_0803C97C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C984: .4byte gPersonalityQuestionPointerTable -_0803C988: .4byte gUnknown_203B400 - thumb_func_end sub_803C920 - - thumb_func_start sub_803C98C -sub_803C98C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803C9CA - ldr r1, [sp] - cmp r1, 0 - bne _0803C9AC - ldr r0, _0803C9A8 - ldr r0, [r0] - adds r0, 0xB0 - b _0803C9B4 - .align 2, 0 -_0803C9A8: .4byte gUnknown_203B400 -_0803C9AC: - ldr r0, _0803C9D0 - ldr r0, [r0] - adds r0, 0xB0 - movs r1, 0x1 -_0803C9B4: - str r1, [r0] - ldr r0, _0803C9D4 - ldr r0, [r0] - strb r1, [r0, 0xB] - movs r0, 0 - bl sub_8099690 - ldr r0, _0803C9D0 - ldr r1, [r0] - movs r0, 0x4 - str r0, [r1, 0x34] -_0803C9CA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803C9D0: .4byte gUnknown_203B400 -_0803C9D4: .4byte gUnknown_203B46C - thumb_func_end sub_803C98C - - thumb_func_start sub_803C9D8 -sub_803C9D8: - push {r4-r7,lr} - movs r0, 0xD - bl RandomCapped - ldr r2, _0803CA4C - ldr r1, [r2] - adds r1, 0x40 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x40 - ldrb r3, [r0] - adds r7, r2, 0 - movs r5, 0xB -_0803C9F2: - adds r3, 0x1 - cmp r3, 0xC - ble _0803C9FA - movs r3, 0 -_0803C9FA: - ldr r0, [r7] - lsls r2, r3, 2 - adds r1, r0, 0 - adds r1, 0x44 - adds r2, r1, r2 - adds r4, r0, 0 - adds r4, 0x40 - ldrb r0, [r4] - lsls r0, 2 - adds r1, r0 - ldr r2, [r2] - ldr r0, [r1] - ldr r6, _0803CA4C - cmp r2, r0 - ble _0803CA1A - strb r3, [r4] -_0803CA1A: - subs r5, 0x1 - cmp r5, 0 - bge _0803C9F2 - ldr r3, [r6] - ldr r2, _0803CA50 - adds r0, r3, 0 - adds r0, 0xB0 - ldr r1, [r0] - lsls r1, 1 - subs r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - strh r0, [r3, 0x8] - bl PrintPersonalityTypeDescription - ldr r1, [r6] - movs r0, 0x5 - str r0, [r1, 0x34] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CA4C: .4byte gUnknown_203B400 -_0803CA50: .4byte gStarters - thumb_func_end sub_803C9D8 - - thumb_func_start sub_803CA54 -sub_803CA54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CA7A - ldr r0, _0803CA80 - ldr r3, _0803CA84 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - bl sub_803CC80 - ldr r0, _0803CA88 - ldr r1, [r0] - movs r0, 0x6 - str r0, [r1, 0x34] -_0803CA7A: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CA80: .4byte gStarterReveal -_0803CA84: .4byte 0x00000101 -_0803CA88: .4byte gUnknown_203B400 - thumb_func_end sub_803CA54 - - thumb_func_start sub_803CA8C -sub_803CA8C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CAA2 - ldr r0, _0803CAA8 - ldr r1, [r0] - movs r0, 0x7 - str r0, [r1, 0x34] -_0803CAA2: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CAA8: .4byte gUnknown_203B400 - thumb_func_end sub_803CA8C - - thumb_func_start sub_803CAAC -sub_803CAAC: - push {lr} - ldr r0, _0803CAC8 - ldr r3, _0803CACC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r0, _0803CAD0 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x34] - pop {r0} - bx r0 - .align 2, 0 -_0803CAC8: .4byte gUnknown_80F27DC -_0803CACC: .4byte 0x00000301 -_0803CAD0: .4byte gUnknown_203B400 - thumb_func_end sub_803CAAC - - thumb_func_start sub_803CAD4 -sub_803CAD4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CAEA - ldr r0, _0803CAF0 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x34] -_0803CAEA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CAF0: .4byte gUnknown_203B400 - thumb_func_end sub_803CAD4 - - thumb_func_start sub_803CAF4 -sub_803CAF4: - push {r4,lr} - ldr r4, _0803CB10 - ldr r0, [r4] - movs r1, 0x8 - ldrsh r0, [r0, r1] - bl sub_803CD08 - ldr r1, [r4] - movs r0, 0xA - str r0, [r1, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CB10: .4byte gUnknown_203B400 - thumb_func_end sub_803CAF4 - - thumb_func_start sub_803CB14 -sub_803CB14: - push {r4,r5,lr} - bl sub_803CDC0 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803CB4C - cmp r5, r0 - beq _0803CB46 - subs r0, 0x1 - cmp r5, r0 - beq _0803CB46 - bl sub_803CE6C - ldr r4, _0803CB50 - ldr r0, [r4] - strh r5, [r0, 0xA] - ldr r0, _0803CB54 - ldr r3, _0803CB58 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r1, [r4] - movs r0, 0xB - str r0, [r1, 0x34] -_0803CB46: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CB4C: .4byte 0x0000ffff -_0803CB50: .4byte gUnknown_203B400 -_0803CB54: .4byte gUnknown_80F286C -_0803CB58: .4byte 0x00000301 - thumb_func_end sub_803CB14 - - thumb_func_start sub_803CB5C -sub_803CB5C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CB72 - ldr r0, _0803CB78 - ldr r1, [r0] - movs r0, 0xC - str r0, [r1, 0x34] -_0803CB72: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CB78: .4byte gUnknown_203B400 - thumb_func_end sub_803CB5C - - thumb_func_start sub_803CB7C -sub_803CB7C: - push {r4,r5,lr} - ldr r4, _0803CBAC - ldr r0, [r4] - adds r5, r0, 0 - adds r5, 0x20 - movs r1, 0xA - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_80922F4 - ldr r1, [r4] - adds r1, 0x20 - movs r0, 0x3 - bl sub_801602C - ldr r1, [r4] - movs r0, 0xD - str r0, [r1, 0x34] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CBAC: .4byte gUnknown_203B400 - thumb_func_end sub_803CB7C - - thumb_func_start sub_803CBB0 -sub_803CBB0: - push {lr} - bl sub_8016080 - cmp r0, 0 - beq _0803CBD2 - bl sub_80160D8 - ldr r0, _0803CBD8 - ldr r3, _0803CBDC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r0, _0803CBE0 - ldr r1, [r0] - movs r0, 0xE - str r0, [r1, 0x34] -_0803CBD2: - pop {r0} - bx r0 - .align 2, 0 -_0803CBD8: .4byte gUnknown_80F2898 -_0803CBDC: .4byte 0x00000301 -_0803CBE0: .4byte gUnknown_203B400 - thumb_func_end sub_803CBB0 - - thumb_func_start sub_803CBE4 -sub_803CBE4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CBFA - ldr r0, _0803CC00 - ldr r1, [r0] - movs r0, 0xF - str r0, [r1, 0x34] -_0803CBFA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CC00: .4byte gUnknown_203B400 - thumb_func_end sub_803CBE4 - - thumb_func_start sub_803CC04 -sub_803CC04: - push {lr} - sub sp, 0x14 - ldr r1, _0803CC38 - ldr r0, _0803CC3C - ldr r0, [r0] - ldr r0, [r0, 0x3C] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r1] - ldr r3, [r1, 0x4] - movs r2, 0 - str r2, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFE - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_0803CC38: .4byte gPersonalityQuestionPointerTable -_0803CC3C: .4byte gUnknown_203B400 - thumb_func_end sub_803CC04 - - thumb_func_start PrintPersonalityTypeDescription -PrintPersonalityTypeDescription: - push {r4,lr} - ldr r0, _0803CC70 - ldr r4, _0803CC74 - ldr r1, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - bl sub_808D8BC - ldr r1, _0803CC78 - ldr r0, [r4] - adds r0, 0x40 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r3, _0803CC7C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CC70: .4byte gUnknown_202DF98 -_0803CC74: .4byte gUnknown_203B400 -_0803CC78: .4byte gPersonalityTypeDescriptionTable -_0803CC7C: .4byte 0x00000101 - thumb_func_end PrintPersonalityTypeDescription - - thumb_func_start sub_803CC80 -sub_803CC80: - push {r4-r7,lr} - sub sp, 0x60 - ldr r0, _0803CD00 - ldr r0, [r0] - movs r1, 0x8 - ldrsh r4, [r0, r1] - mov r0, sp - bl sub_8006518 - add r1, sp, 0x18 - ldr r0, _0803CD04 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - mov r0, sp - movs r1, 0x1 - movs r2, 0 - bl sub_800641C - movs r0, 0x1 - bl sub_8008C54 - movs r0, 0x1 - bl sub_80073B8 - adds r0, r4, 0 - bl GetDialogueSpriteDataPtr - adds r5, r0, 0 - ldr r0, [r5, 0x4] - ldr r6, [r0, 0xC] - movs r4, 0 - movs r7, 0x8 -_0803CCC8: - adds r0, r4, 0 - adds r0, 0xE0 - ldr r1, [r5, 0x4] - adds r1, r7 - lsls r2, r4, 2 - ldr r1, [r1] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0xF - ble _0803CCC8 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xE - bl sub_800836C - adds r0, r5, 0 - bl CloseFile - movs r0, 0x1 - bl sub_80073E0 - add sp, 0x60 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CD00: .4byte gUnknown_203B400 -_0803CD04: .4byte gUnknown_80F4244 - thumb_func_end sub_803CC80 - - thumb_func_start sub_803CD08 -sub_803CD08: - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - bl sub_803CEAC - ldr r5, _0803CDB0 - ldr r0, [r5] - movs r3, 0 - movs r1, 0 - strh r4, [r0] - str r1, [r0, 0x4C] - adds r1, r0, 0 - adds r1, 0x54 - str r1, [r0, 0x50] - ldr r0, _0803CDB4 - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldr r1, [r5] - adds r1, 0x6C - ldr r0, _0803CDB8 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r5] - ldr r2, _0803CDBC - adds r1, 0x84 - adds r0, r2, 0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r0, [r5] - adds r0, 0x9C - ldm r2!, {r1,r4,r6} - stm r0!, {r1,r4,r6} - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldr r0, [r5] - ldr r1, [r0, 0x50] - adds r0, 0xB4 - str r0, [r1, 0x14] - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0xB5 - strb r3, [r0] - ldr r0, [r5] - adds r0, 0xB6 - movs r1, 0x6 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0xB7 - strb r3, [r0] - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x18 - bl GetValidPartners - adds r1, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x4C] - adds r0, r4, 0 - movs r2, 0xA - bl sub_8013818 - bl sub_803CEF0 - bl sub_803CFC0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CDB0: .4byte gUnknown_203B404 -_0803CDB4: .4byte gUnknown_80F4290 -_0803CDB8: .4byte gUnknown_80F42A8 -_0803CDBC: .4byte gUnknown_80F4278 - thumb_func_end sub_803CD08 - - thumb_func_start sub_803CDC0 -sub_803CDC0: - push {r4,r5,lr} - ldr r4, _0803CDF0 - ldr r1, [r4] - movs r0, 0x30 - ldrsh r5, [r1, r0] - movs r0, 0 - strb r0, [r1, 0x16] - ldr r0, [r4] - adds r0, 0x18 - bl GetKeyPress - cmp r0, 0x1 - bne _0803CDF4 - movs r0, 0 - bl sub_80119D4 - ldr r0, [r4] - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r0, [r0] - b _0803CE2A - .align 2, 0 -_0803CDF0: .4byte gUnknown_203B404 -_0803CDF4: - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - beq _0803CE08 - bl sub_803CEF0 -_0803CE08: - ldr r0, [r4] - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r5, r0 - beq _0803CE16 - bl sub_803CFC0 -_0803CE16: - ldr r0, [r4] - ldrb r0, [r0, 0x16] - cmp r0, 0 - bne _0803CE28 - ldr r0, _0803CE24 - b _0803CE2A - .align 2, 0 -_0803CE24: .4byte 0x0000ffff -_0803CE28: - ldr r0, _0803CE30 -_0803CE2A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803CE30: .4byte 0x0000fffe - thumb_func_end sub_803CDC0 - - thumb_func_start sub_803CE34 -sub_803CE34: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetValidPartners - adds r1, r0, 0 - ldr r5, _0803CE68 - ldr r0, [r5] - strh r1, [r0, 0x3A] - adds r0, 0x18 - bl sub_8013984 - bl sub_803CEF0 - bl sub_803CFC0 - cmp r4, 0 - beq _0803CE62 - ldr r0, [r5] - adds r0, 0x18 - bl AddMenuCursorSprite -_0803CE62: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CE68: .4byte gUnknown_203B404 - thumb_func_end sub_803CE34 - - thumb_func_start sub_803CE6C -sub_803CE6C: - push {r4,r5,lr} - ldr r4, _0803CEA4 - ldr r1, [r4] - ldr r2, [r1, 0x4C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x54 - ldr r0, _0803CEA8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803CECC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CEA4: .4byte gUnknown_203B404 -_0803CEA8: .4byte gUnknown_80F4278 - thumb_func_end sub_803CE6C - - thumb_func_start sub_803CEAC -sub_803CEAC: - push {r4,lr} - ldr r4, _0803CEC4 - movs r0, 0xB8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - bl nullsub_135 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CEC4: .4byte gUnknown_203B404 - thumb_func_end sub_803CEAC - - thumb_func_start nullsub_135 -nullsub_135: - bx lr - thumb_func_end nullsub_135 - - thumb_func_start sub_803CECC -sub_803CECC: - push {r4,lr} - ldr r4, _0803CEEC - ldr r0, [r4] - cmp r0, 0 - beq _0803CEE4 - bl nullsub_135 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803CEE4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CEEC: .4byte gUnknown_203B404 - thumb_func_end sub_803CECC - - thumb_func_start sub_803CEF0 -sub_803CEF0: - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _0803CF60 - ldr r0, [r6] - movs r1, 0x32 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r6] - ldr r3, [r2, 0x4C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x62 - movs r4, 0 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x4C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x64 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r6] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - ldr r0, [r0, 0x4C] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x4C] - bl sub_80073B8 - ldr r2, _0803CF64 - ldr r0, [r6] - ldr r3, [r0, 0x4C] - str r4, [sp] - movs r0, 0xC - movs r1, 0 - bl xxx_call_draw_string - movs r5, 0 - b _0803CF98 - .align 2, 0 -_0803CF60: .4byte gUnknown_203B404 -_0803CF64: .4byte gUnknown_80F42C0 -_0803CF68: - ldr r0, [r6] - adds r0, 0x18 - adds r1, r5, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r0, [r6] - lsls r1, r5, 1 - adds r0, 0x2 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r0, [r6] - ldr r3, [r0, 0x4C] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl xxx_call_draw_string - adds r5, 0x1 -_0803CF98: - ldr r0, [r6] - movs r1, 0x32 - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0803CF68 - ldr r4, _0803CFBC - ldr r0, [r4] - ldr r0, [r0, 0x4C] - bl sub_80073E0 - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x16] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803CFBC: .4byte gUnknown_203B404 - thumb_func_end sub_803CEF0 - - thumb_func_start sub_803CFC0 -sub_803CFC0: - push {r4-r7,lr} - ldr r0, _0803D02C - ldr r0, [r0] - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 1 - adds r0, 0x2 - adds r0, r1 - movs r1, 0 - ldrsh r4, [r0, r1] - movs r0, 0x1 - bl sub_8008C54 - movs r0, 0x1 - bl sub_80073B8 - adds r0, r4, 0 - bl GetDialogueSpriteDataPtr - adds r5, r0, 0 - ldr r0, [r5, 0x4] - ldr r6, [r0, 0x4] - movs r4, 0 - movs r7, 0 -_0803CFF0: - adds r0, r4, 0 - adds r0, 0xE0 - ldr r1, [r5, 0x4] - adds r1, r7 - lsls r2, r4, 2 - ldr r1, [r1] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0xF - ble _0803CFF0 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xE - bl sub_800836C - adds r0, r5, 0 - bl CloseFile - movs r0, 0x1 - bl sub_80073E0 - ldr r0, _0803D02C - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x16] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D02C: .4byte gUnknown_203B404 - thumb_func_end sub_803CFC0 - - .align 2,0 diff --git a/asm/personality_test_2.s b/asm/personality_test_2.s new file mode 100644 index 0000000..8ff0bfc --- /dev/null +++ b/asm/personality_test_2.s @@ -0,0 +1,106 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start RedrawPartnerSelectionMenu +RedrawPartnerSelectionMenu: + push {r4-r6,lr} + sub sp, 0x4 + ldr r6, _0803CF60 + ldr r0, [r6] + movs r1, 0x32 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r6] + ldr r3, [r2, 0x4C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x62 + movs r4, 0 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x4C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x64 + strh r3, [r2] + bl ResetUnusedInputStruct + ldr r0, [r6] + adds r0, 0x54 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r6] + ldr r0, [r0, 0x4C] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x4C] + bl sub_80073B8 + ldr r2, _0803CF64 + ldr r0, [r6] + ldr r3, [r0, 0x4C] + str r4, [sp] + movs r0, 0xC + movs r1, 0 + bl xxx_call_draw_string + movs r5, 0 + b _0803CF98 + .align 2, 0 +_0803CF60: .4byte gUnknown_203B404 +_0803CF64: .4byte gUnknown_80F42C0 +_0803CF68: + ldr r0, [r6] + adds r0, 0x18 + adds r1, r5, 0 + bl sub_8013800 + adds r4, r0, 0 + ldr r0, [r6] + lsls r1, r5, 1 + adds r0, 0x2 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + bl sub_808D994 + adds r2, r0, 0 + ldr r0, [r6] + ldr r3, [r0, 0x4C] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r4, 0 + bl xxx_call_draw_string + adds r5, 0x1 +_0803CF98: + ldr r0, [r6] + movs r1, 0x32 + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0803CF68 + ldr r4, _0803CFBC + ldr r0, [r4] + ldr r0, [r0, 0x4C] + bl sub_80073E0 + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x16] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803CFBC: .4byte gUnknown_203B404 + thumb_func_end RedrawPartnerSelectionMenu + + .align 2,0 |