diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-06 20:57:36 -0500 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-01-06 20:57:36 -0500 |
commit | 86f0291f63ff6bc580476dae3c00fc4d6d7b15da (patch) | |
tree | 37d03c82f0b43a4a0b856610c5b36fe96dc3ebed | |
parent | deac7fd3706ea9de855330881e2555a8c70d72f3 (diff) | |
parent | 680d3fd7b980578024226eccffe2e01072826227 (diff) |
Merge branch 'master' of https://github.com/pret/pokeruby
242 files changed, 12767 insertions, 38794 deletions
diff --git a/.travis.yml b/.travis.yml index 56bea002d..04b2597b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,7 +49,6 @@ matrix: env: _="Build German" before_script: - cp override-de.mk override.mk - - rsync -avhI asm-de/ asm/ - rsync -avhI data-de/ data/ - rsync -avhI graphics-de/ graphics/ script: diff --git a/asm-de/contest_link_80C2020.s b/asm-de/contest_link_80C2020.s deleted file mode 100644 index 0213fe90c..000000000 --- a/asm-de/contest_link_80C2020.s +++ /dev/null @@ -1,5638 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C2020 -sub_80C2020: @ 80C2020 - push {r4,r5,lr} - movs r5, 0x80 - lsls r5, 19 - movs r0, 0x40 - strh r0, [r5] - ldr r4, _080C20F0 @ =gWindowConfig_81E6FA0 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, _080C20F4 @ =gMenuWindow - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r1, _080C20F8 @ =REG_BG0CNT - movs r2, 0xF8 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r3, _080C20FC @ =0x00001803 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080C2100 @ =0x00001c03 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r3, _080C2104 @ =0x00003a03 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _080C2108 @ =REG_MOSAIC - movs r2, 0 - strh r2, [r0] - adds r1, 0x3A - ldr r3, _080C210C @ =0x00003f3f - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - subs r3, 0x11 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _080C2110 @ =REG_WIN0H - strh r2, [r0] - adds r0, 0x4 - strh r2, [r0] - subs r0, 0x2 - strh r2, [r0] - adds r0, 0x4 - strh r2, [r0] - adds r0, 0xA - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - subs r0, 0x44 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - ldrh r0, [r5] - movs r3, 0xFE - lsls r3, 7 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r5] - ldr r0, _080C2114 @ =gUnknown_030042A4 - strh r2, [r0] - ldr r0, _080C2118 @ =gUnknown_030042A0 - strh r2, [r0] - ldr r0, _080C211C @ =gBattle_BG1_X - strh r2, [r0] - ldr r0, _080C2120 @ =gBattle_BG1_Y - strh r2, [r0] - ldr r0, _080C2124 @ =gBattle_BG2_X - strh r2, [r0] - ldr r0, _080C2128 @ =gBattle_BG2_Y - strh r2, [r0] - ldr r0, _080C212C @ =gUnknown_030041B0 - strh r2, [r0] - ldr r0, _080C2130 @ =gUnknown_030041B8 - strh r2, [r0] - ldr r0, _080C2134 @ =gBattle_WIN0H - strh r2, [r0] - ldr r0, _080C2138 @ =gBattle_WIN0V - strh r2, [r0] - ldr r0, _080C213C @ =gBattle_WIN1H - strh r2, [r0] - ldr r0, _080C2140 @ =gBattle_WIN1V - strh r2, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C20F0: .4byte gWindowConfig_81E6FA0 -_080C20F4: .4byte gMenuWindow -_080C20F8: .4byte REG_BG0CNT -_080C20FC: .4byte 0x00001803 -_080C2100: .4byte 0x00001c03 -_080C2104: .4byte 0x00003a03 -_080C2108: .4byte REG_MOSAIC -_080C210C: .4byte 0x00003f3f -_080C2110: .4byte REG_WIN0H -_080C2114: .4byte gUnknown_030042A4 -_080C2118: .4byte gUnknown_030042A0 -_080C211C: .4byte gBattle_BG1_X -_080C2120: .4byte gBattle_BG1_Y -_080C2124: .4byte gBattle_BG2_X -_080C2128: .4byte gBattle_BG2_Y -_080C212C: .4byte gUnknown_030041B0 -_080C2130: .4byte gUnknown_030041B8 -_080C2134: .4byte gBattle_WIN0H -_080C2138: .4byte gBattle_WIN0V -_080C213C: .4byte gBattle_WIN1H -_080C2140: .4byte gBattle_WIN1V - thumb_func_end sub_80C2020 - - thumb_func_start sub_80C2144 -sub_80C2144: @ 80C2144 - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - ldr r0, _080C220C @ =gUnknown_08D1977C - mov r12, r0 - movs r5, 0 - ldr r1, _080C2210 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _080C2214 @ =0x85000400 - movs r7, 0x85 - lsls r7, 24 -_080C2162: - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080C2162 - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0xC0 - lsls r1, 19 - mov r0, r12 - bl LZDecompressVram - ldr r0, _080C2218 @ =gUnknown_08D1A490 - ldr r1, _080C221C @ =0x0600d000 - bl LZDecompressVram - ldr r0, _080C2220 @ =gUnknown_08D1A364 - ldr r1, _080C2224 @ =0x0600e000 - bl LZDecompressVram - ldr r0, _080C2228 @ =gUnknown_08D1A250 - ldr r1, _080C222C @ =0x0600f000 - bl LZDecompressVram - bl sub_80C37E4 - ldr r0, _080C2230 @ =gUnknown_08D1A618 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r0, _080C2234 @ =gWindowConfig_81E6FA0 - bl LoadFontDefaultPalette - movs r6, 0 -_080C21C0: - lsls r5, r6, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80C3990 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80C39E4 - movs r5, 0 - lsls r1, r6, 1 - adds r2, r6, 0x1 - mov r12, r2 - lsls r4, 24 - asrs r7, r4, 24 - adds r1, r6 - lsls r1, 6 - lsls r4, r0, 24 -_080C21EC: - ldr r6, _080C2238 @ =0x000060b2 - cmp r5, r7 - bge _080C21F4 - adds r6, 0x2 -_080C21F4: - asrs r2, r4, 24 - adds r0, r2, 0 - cmp r2, 0 - bge _080C21FE - negs r0, r2 -_080C21FE: - cmp r5, r0 - bge _080C2240 - ldr r3, _080C223C @ =0x000060a4 - cmp r2, 0 - bge _080C2242 - adds r3, 0x2 - b _080C2242 - .align 2, 0 -_080C220C: .4byte gUnknown_08D1977C -_080C2210: .4byte 0x040000d4 -_080C2214: .4byte 0x85000400 -_080C2218: .4byte gUnknown_08D1A490 -_080C221C: .4byte 0x0600d000 -_080C2220: .4byte gUnknown_08D1A364 -_080C2224: .4byte 0x0600e000 -_080C2228: .4byte gUnknown_08D1A250 -_080C222C: .4byte 0x0600f000 -_080C2230: .4byte gUnknown_08D1A618 -_080C2234: .4byte gWindowConfig_81E6FA0 -_080C2238: .4byte 0x000060b2 -_080C223C: .4byte 0x000060a4 -_080C2240: - ldr r3, _080C2264 @ =0x000060a2 -_080C2242: - ldr r2, _080C2268 @ =0x0600c166 - adds r0, r1, r2 - strh r6, [r0] - adds r2, 0x40 - adds r0, r1, r2 - strh r3, [r0] - adds r1, 0x2 - adds r5, 0x1 - cmp r5, 0x9 - ble _080C21EC - mov r6, r12 - cmp r6, 0x3 - ble _080C21C0 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2264: .4byte 0x000060a2 -_080C2268: .4byte 0x0600c166 - thumb_func_end sub_80C2144 - - thumb_func_start sub_80C226C -sub_80C226C: @ 80C226C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C2288 @ =gContestPlayerMonIndex - ldrb r0, [r0] - cmp r5, r0 - bne _080C2294 - ldr r0, _080C228C @ =gDisplayedStringBattle - ldr r1, _080C2290 @ =gUnknown_083D17DC - bl StringCopy - adds r2, r0, 0 - b _080C2296 - .align 2, 0 -_080C2288: .4byte gContestPlayerMonIndex -_080C228C: .4byte gDisplayedStringBattle -_080C2290: .4byte gUnknown_083D17DC -_080C2294: - ldr r2, _080C22E8 @ =gDisplayedStringBattle -_080C2296: - movs r4, 0xFC - strb r4, [r2] - movs r0, 0x6 - strb r0, [r2, 0x1] - movs r0, 0x4 - strb r0, [r2, 0x2] - adds r2, 0x3 - lsls r6, r5, 6 - ldr r7, _080C22EC @ =gContestMons + 0x2 - adds r1, r6, r7 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - strb r4, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - movs r0, 0x32 - strb r0, [r2, 0x2] - adds r2, 0x3 - ldr r1, _080C22F0 @ =gUnknown_083D17E0 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - ldr r0, _080C22F4 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C22FC - lsls r4, r5, 3 - subs r1, r4, r5 - lsls r1, 2 - ldr r0, _080C22F8 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - b _080C230A - .align 2, 0 -_080C22E8: .4byte gDisplayedStringBattle -_080C22EC: .4byte gContestMons + 0x2 -_080C22F0: .4byte gUnknown_083D17E0 -_080C22F4: .4byte gIsLinkContest -_080C22F8: .4byte gLinkPlayers + 0x8 -_080C22FC: - adds r1, r7, 0 - adds r1, 0xB - adds r1, r6, r1 - adds r0, r2, 0 - bl StringCopy - lsls r4, r5, 3 -_080C230A: - ldr r0, _080C2334 @ =gMenuWindow - ldr r1, _080C2338 @ =gDisplayedStringBattle - adds r2, r4, r5 - lsls r2, 18 - ldr r3, _080C233C @ =0x03020000 - adds r2, r3 - lsrs r2, 16 - lsls r3, r5, 1 - adds r3, r5 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - movs r3, 0x7 - bl sub_8003460 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2334: .4byte gMenuWindow -_080C2338: .4byte gDisplayedStringBattle -_080C233C: .4byte 0x03020000 - thumb_func_end sub_80C226C - - thumb_func_start sub_80C2340 -sub_80C2340: @ 80C2340 - push {r4,lr} - movs r4, 0 -_080C2344: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80C226C - adds r4, 0x1 - cmp r4, 0x3 - ble _080C2344 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C2340 - - thumb_func_start sub_80C2358 -sub_80C2358: @ 80C2358 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080C240C @ =gPaletteFade - ldrb r0, [r5, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r5, 0x8] - movs r0, 0 - bl SetVBlankCallback - bl sub_80C2020 - bl dp12_8087EA4 - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl sub_80C2144 - bl sub_80C310C - movs r0, 0 - movs r1, 0x1 - bl sub_80C30D4 - bl sub_80C2340 - ldr r4, _080C2410 @ =gSharedMem + 0x18000 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x18 - bl memset - adds r0, r4, 0 - adds r0, 0x18 - movs r1, 0 - movs r2, 0x50 - bl memset - bl sub_80C33DC - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrb r1, [r5, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r5, 0x8] - ldr r0, _080C2414 @ =sub_80C24F4 - movs r1, 0x5 - bl CreateTask - strb r0, [r4, 0x2] - ldr r0, _080C2418 @ =sub_80C2430 - bl SetMainCallback2 - ldr r1, _080C241C @ =gBattle_WIN1H - movs r0, 0xF0 - strh r0, [r1] - ldr r1, _080C2420 @ =gBattle_WIN1V - ldr r2, _080C2424 @ =0x000080a0 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080C2428 @ =sub_80C2F28 - movs r1, 0x14 - bl CreateTask - bl sub_80C3F00 - movs r0, 0xDF - lsls r0, 1 - bl PlayBGM - ldr r0, _080C242C @ =sub_80C2448 - bl SetVBlankCallback - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C240C: .4byte gPaletteFade -_080C2410: .4byte gSharedMem + 0x18000 -_080C2414: .4byte sub_80C24F4 -_080C2418: .4byte sub_80C2430 -_080C241C: .4byte gBattle_WIN1H -_080C2420: .4byte gBattle_WIN1V -_080C2424: .4byte 0x000080a0 -_080C2428: .4byte sub_80C2F28 -_080C242C: .4byte sub_80C2448 - thumb_func_end sub_80C2358 - - thumb_func_start sub_80C2430 -sub_80C2430: @ 80C2430 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C2430 - - thumb_func_start sub_80C2448 -sub_80C2448: @ 80C2448 - push {lr} - ldr r1, _080C24C0 @ =REG_BG0HOFS - ldr r0, _080C24C4 @ =gUnknown_030042A4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24C8 @ =gUnknown_030042A0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24CC @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24D0 @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24D4 @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24D8 @ =gBattle_BG2_Y - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24DC @ =gUnknown_030041B0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080C24E0 @ =gUnknown_030041B8 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x22 - ldr r0, _080C24E4 @ =gBattle_WIN0H - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _080C24E8 @ =gBattle_WIN0V - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - ldr r0, _080C24EC @ =gBattle_WIN1H - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _080C24F0 @ =gBattle_WIN1V - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_080C24C0: .4byte REG_BG0HOFS -_080C24C4: .4byte gUnknown_030042A4 -_080C24C8: .4byte gUnknown_030042A0 -_080C24CC: .4byte gBattle_BG1_X -_080C24D0: .4byte gBattle_BG1_Y -_080C24D4: .4byte gBattle_BG2_X -_080C24D8: .4byte gBattle_BG2_Y -_080C24DC: .4byte gUnknown_030041B0 -_080C24E0: .4byte gUnknown_030041B8 -_080C24E4: .4byte gBattle_WIN0H -_080C24E8: .4byte gBattle_WIN0V -_080C24EC: .4byte gBattle_WIN1H -_080C24F0: .4byte gBattle_WIN1V - thumb_func_end sub_80C2448 - - thumb_func_start sub_80C24F4 -sub_80C24F4: @ 80C24F4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, r4, 0 - ldr r0, _080C252C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C254E - ldr r0, _080C2530 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C2540 - ldr r0, _080C2534 @ =gOtherText_LinkStandby - bl sub_80C3698 - ldr r1, _080C2538 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C253C @ =sub_80C255C - str r1, [r0] - b _080C254E - .align 2, 0 -_080C252C: .4byte gPaletteFade -_080C2530: .4byte gIsLinkContest -_080C2534: .4byte gOtherText_LinkStandby -_080C2538: .4byte gTasks -_080C253C: .4byte sub_80C255C -_080C2540: - ldr r0, _080C2554 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C2558 @ =sub_80C2600 - str r0, [r1] -_080C254E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2554: .4byte gTasks -_080C2558: .4byte sub_80C2600 - thumb_func_end sub_80C24F4 - - thumb_func_start sub_80C255C -sub_80C255C: @ 80C255C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C2594 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080C258C - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C258C - ldr r0, _080C2598 @ =sub_80C25A4 - movs r1, 0 - bl CreateTask - ldr r1, _080C259C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C25A0 @ =TaskDummy - str r1, [r0] -_080C258C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2594: .4byte gReceivedRemoteLinkPlayers -_080C2598: .4byte sub_80C25A4 -_080C259C: .4byte gTasks -_080C25A0: .4byte TaskDummy - thumb_func_end sub_80C255C - - thumb_func_start sub_80C25A4 -sub_80C25A4: @ 80C25A4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C25B8 @ =sub_80C89DC - ldr r2, _080C25BC @ =sub_80C25C0 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C25B8: .4byte sub_80C89DC -_080C25BC: .4byte sub_80C25C0 - thumb_func_end sub_80C25A4 - - thumb_func_start sub_80C25C0 -sub_80C25C0: @ 80C25C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C25EC - adds r0, r4, 0 - bl DestroyTask - ldr r2, _080C25F4 @ =gTasks - ldr r0, _080C25F8 @ =gSharedMem + 0x18000 - ldrb r1, [r0, 0x2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080C25FC @ =sub_80C2600 - str r1, [r0] - bl sub_80C3764 -_080C25EC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C25F4: .4byte gTasks -_080C25F8: .4byte gSharedMem + 0x18000 -_080C25FC: .4byte sub_80C2600 - thumb_func_end sub_80C25C0 - - thumb_func_start sub_80C2600 -sub_80C2600: @ 80C2600 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C2644 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r1, [r5, 0x8] - movs r2, 0x8 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080C2654 - ldr r0, _080C2648 @ =sub_80C2F64 - movs r1, 0x14 - bl CreateTask - ldr r4, _080C264C @ =gContestText_AnnounceResults - ldr r0, _080C2650 @ =gSharedMem + 0x18000 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80C3158 - adds r0, r4, 0 - bl sub_80C34AC - lsls r0, 16 - asrs r0, 16 - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - movs r2, 0x78 - b _080C26A6 - .align 2, 0 -_080C2644: .4byte gTasks -_080C2648: .4byte sub_80C2F64 -_080C264C: .4byte gContestText_AnnounceResults -_080C2650: .4byte gSharedMem + 0x18000 -_080C2654: - cmp r0, 0x1 - bne _080C2668 - ldr r0, _080C2664 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _080C26D4 - b _080C267C - .align 2, 0 -_080C2664: .4byte gSharedMem + 0x18000 -_080C2668: - cmp r0, 0x2 - bne _080C2684 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080C26D4 - movs r0, 0 -_080C267C: - strh r0, [r5, 0xA] - adds r0, r1, 0x1 - strh r0, [r5, 0x8] - b _080C26D4 -_080C2684: - cmp r0, 0x3 - bne _080C26C0 - ldr r4, _080C26B4 @ =gContestText_PreliminaryResults - ldr r0, _080C26B8 @ =gSharedMem + 0x18000 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80C3158 - adds r0, r4, 0 - bl sub_80C34AC - lsls r0, 16 - asrs r0, 16 - ldr r2, _080C26BC @ =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 -_080C26A6: - bl sub_80C34CC - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080C26D4 - .align 2, 0 -_080C26B4: .4byte gContestText_PreliminaryResults -_080C26B8: .4byte gSharedMem + 0x18000 -_080C26BC: .4byte 0x0000ffff -_080C26C0: - cmp r0, 0x4 - bne _080C26D4 - ldr r0, _080C26DC @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - bne _080C26D4 - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, _080C26E0 @ =sub_80C26E4 - str r0, [r5] -_080C26D4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C26DC: .4byte gSharedMem + 0x18000 -_080C26E0: .4byte sub_80C26E4 - thumb_func_end sub_80C2600 - - thumb_func_start sub_80C26E4 -sub_80C26E4: @ 80C26E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C2708 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080C2744 - cmp r0, 0x1 - bgt _080C270C - cmp r0, 0 - beq _080C2712 - b _080C2766 - .align 2, 0 -_080C2708: .4byte gTasks -_080C270C: - cmp r0, 0x2 - beq _080C2754 - b _080C2766 -_080C2712: - ldr r5, _080C2738 @ =gSharedMem + 0x18000 - ldrb r0, [r5, 0xA] - cmp r0, 0 - bne _080C2766 - ldrh r1, [r4, 0xC] - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_80C40D4 - ldrb r0, [r5, 0x14] - cmp r0, 0 - bne _080C273C - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080C2766 - .align 2, 0 -_080C2738: .4byte gSharedMem + 0x18000 -_080C273C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C2766 -_080C2744: - ldr r0, _080C2750 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080C2766 - strh r0, [r4, 0x8] - b _080C2766 - .align 2, 0 -_080C2750: .4byte gSharedMem + 0x18000 -_080C2754: - movs r0, 0x88 - lsls r0, 3 - bl sub_80C3520 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xC] - ldr r0, _080C276C @ =sub_80C2770 - str r0, [r4] -_080C2766: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C276C: .4byte sub_80C2770 - thumb_func_end sub_80C26E4 - - thumb_func_start sub_80C2770 -sub_80C2770: @ 80C2770 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r5, _080C27BC @ =gSharedMem + 0x18000 - ldrb r3, [r5, 0x4] - cmp r3, 0 - bne _080C27CC - ldr r1, _080C27C0 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080C27DE - strh r3, [r1, 0xA] - ldr r4, _080C27C4 @ =gContestText_Round2Results - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_80C3158 - adds r0, r4, 0 - bl sub_80C34AC - lsls r0, 16 - asrs r0, 16 - ldr r2, _080C27C8 @ =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - bl sub_80C34CC - b _080C27DE - .align 2, 0 -_080C27BC: .4byte gSharedMem + 0x18000 -_080C27C0: .4byte gTasks -_080C27C4: .4byte gContestText_Round2Results -_080C27C8: .4byte 0x0000ffff -_080C27CC: - cmp r3, 0x2 - bne _080C27DE - ldr r0, _080C27E4 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C27E8 @ =sub_80C27EC - str r0, [r1] -_080C27DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C27E4: .4byte gTasks -_080C27E8: .4byte sub_80C27EC - thumb_func_end sub_80C2770 - - thumb_func_start sub_80C27EC -sub_80C27EC: @ 80C27EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C2810 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080C284C - cmp r0, 0x1 - bgt _080C2814 - cmp r0, 0 - beq _080C281A - b _080C286C - .align 2, 0 -_080C2810: .4byte gTasks -_080C2814: - cmp r0, 0x2 - beq _080C285C - b _080C286C -_080C281A: - ldr r5, _080C2840 @ =gSharedMem + 0x18000 - ldrb r0, [r5, 0xA] - cmp r0, 0 - bne _080C286C - ldrh r1, [r4, 0xC] - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - bl sub_80C40D4 - ldrb r0, [r5, 0x14] - cmp r0, 0 - bne _080C2844 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080C286C - .align 2, 0 -_080C2840: .4byte gSharedMem + 0x18000 -_080C2844: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C286C -_080C284C: - ldr r0, _080C2858 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _080C286C - strh r0, [r4, 0x8] - b _080C286C - .align 2, 0 -_080C2858: .4byte gSharedMem + 0x18000 -_080C285C: - movs r0, 0x88 - lsls r0, 3 - bl sub_80C3520 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080C2874 @ =sub_80C2878 - str r0, [r4] -_080C286C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2874: .4byte sub_80C2878 - thumb_func_end sub_80C27EC - - thumb_func_start sub_80C2878 -sub_80C2878: @ 80C2878 - push {r4-r7,lr} - sub sp, 0x64 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C28A0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x5 - bls _080C2896 - b _080C2A80 -_080C2896: - lsls r0, 2 - ldr r1, _080C28A4 @ =_080C28A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C28A0: .4byte gTasks -_080C28A4: .4byte _080C28A8 - .align 2, 0 -_080C28A8: - .4byte _080C28C0 - .4byte _080C28E0 - .4byte _080C28FE - .4byte _080C2938 - .4byte _080C299C - .4byte _080C2A70 -_080C28C0: - ldr r0, _080C28DC @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _080C28CA - b _080C2A80 -_080C28CA: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080C2A80 - .align 2, 0 -_080C28DC: .4byte gSharedMem + 0x18000 -_080C28E0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - beq _080C28F8 - b _080C2A80 -_080C28F8: - movs r0, 0 - strh r0, [r1, 0xA] - b _080C2A4A -_080C28FE: - movs r4, 0 - lsls r6, r5, 2 - ldr r7, _080C292C @ =gTasks -_080C2904: - ldr r0, _080C2930 @ =sub_80C3A5C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r7 - ldr r0, _080C2934 @ =gContestFinalStandings - adds r0, r4, r0 - ldrb r0, [r0] - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - adds r4, 0x1 - cmp r4, 0x3 - ble _080C2904 - b _080C2A42 - .align 2, 0 -_080C292C: .4byte gTasks -_080C2930: .4byte sub_80C3A5C -_080C2934: .4byte gContestFinalStandings -_080C2938: - ldr r0, _080C2990 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x5] - cmp r0, 0x4 - beq _080C2942 - b _080C2A80 -_080C2942: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - beq _080C295A - b _080C2A80 -_080C295A: - movs r0, 0 - strh r0, [r4, 0xA] - ldr r0, _080C2994 @ =sub_80C3B30 - movs r1, 0xA - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r4, 0 - ldr r1, _080C2998 @ =gContestFinalStandings - ldrb r0, [r1] - cmp r0, 0 - beq _080C2984 -_080C2976: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080C2984 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C2976 -_080C2984: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0xE - bl sub_80C3E60 - b _080C2A80 - .align 2, 0 -_080C2990: .4byte gSharedMem + 0x18000 -_080C2994: .4byte sub_80C3B30 -_080C2998: .4byte gContestFinalStandings -_080C299C: - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r2, r0, r2 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r0, 0x15 - bne _080C2A80 - movs r0, 0 - strh r0, [r2, 0xA] - movs r4, 0 - ldr r2, _080C29F4 @ =gContestFinalStandings - ldrb r0, [r2] - ldr r1, _080C29F8 @ =gIsLinkContest - ldr r3, _080C29FC @ =gStringVar1 - cmp r0, 0 - beq _080C29D4 -_080C29C6: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080C29D4 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080C29C6 -_080C29D4: - ldrb r1, [r1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C2A04 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r0, _080C2A00 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - lsls r4, 6 - b _080C2A10 - .align 2, 0 -_080C29F4: .4byte gContestFinalStandings -_080C29F8: .4byte gIsLinkContest -_080C29FC: .4byte gStringVar1 -_080C2A00: .4byte gLinkPlayers + 0x8 -_080C2A04: - lsls r4, 6 - ldr r1, _080C2A54 @ =gUnknown_0203857D - adds r1, r4, r1 - adds r0, r3, 0 - bl StringCopy -_080C2A10: - ldr r0, _080C2A58 @ =gStringVar2 - ldr r1, _080C2A5C @ =gContestMons + 0x2 - adds r1, r4, r1 - bl StringCopy - ldr r1, _080C2A60 @ =gContestText_PokeWon - mov r0, sp - bl StringExpandPlaceholders - ldr r0, _080C2A64 @ =gSharedMem + 0x18000 - ldrb r1, [r0] - mov r0, sp - bl sub_80C3158 - mov r0, sp - bl sub_80C34AC - lsls r0, 16 - asrs r0, 16 - ldr r2, _080C2A68 @ =0x0000ffff - movs r3, 0x88 - lsls r3, 3 - movs r1, 0x90 - bl sub_80C34CC -_080C2A42: - ldr r0, _080C2A6C @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 -_080C2A4A: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C2A80 - .align 2, 0 -_080C2A54: .4byte gUnknown_0203857D -_080C2A58: .4byte gStringVar2 -_080C2A5C: .4byte gContestMons + 0x2 -_080C2A60: .4byte gContestText_PokeWon -_080C2A64: .4byte gSharedMem + 0x18000 -_080C2A68: .4byte 0x0000ffff -_080C2A6C: .4byte gTasks -_080C2A70: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080C2A88 @ =sub_80C2A8C - str r1, [r0] -_080C2A80: - add sp, 0x64 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2A88: .4byte sub_80C2A8C - thumb_func_end sub_80C2878 - - thumb_func_start sub_80C2A8C -sub_80C2A8C: @ 80C2A8C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080C2ABC @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _080C2AB2 - b _080C2D04 -_080C2AB2: - lsls r0, 2 - ldr r1, _080C2AC0 @ =_080C2AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C2ABC: .4byte gTasks -_080C2AC0: .4byte _080C2AC4 - .align 2, 0 -_080C2AC4: - .4byte _080C2ADC - .4byte _080C2C04 - .4byte _080C2C54 - .4byte _080C2C64 - .4byte _080C2CA8 - .4byte _080C2CE8 -_080C2ADC: - ldr r1, _080C2BC4 @ =gBattle_WIN0H - movs r0, 0xF0 - strh r0, [r1] - ldr r1, _080C2BC8 @ =gBattle_WIN0V - ldr r3, _080C2BCC @ =0x00005050 - adds r0, r3, 0 - strh r0, [r1] - movs r1, 0 - ldr r3, _080C2BD0 @ =gContestFinalStandings - ldrb r0, [r3] - lsls r4, r7, 2 - mov r10, r4 - ldr r2, _080C2BD4 @ =gContestMons - ldr r5, _080C2BD8 @ =gMonFrontPicTable - mov r12, r5 - ldr r4, _080C2BDC @ =gMonFrontPicCoords - mov r8, r4 - ldr r5, _080C2BE0 @ =gUnknown_081FAF4C - mov r9, r5 - cmp r0, 0 - beq _080C2B14 -_080C2B06: - adds r1, 0x1 - cmp r1, 0x3 - bgt _080C2B14 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080C2B06 -_080C2B14: - lsls r1, 6 - adds r0, r1, r2 - ldrh r6, [r0] - adds r0, r2, 0 - adds r0, 0x38 - adds r0, r1, r0 - ldr r4, [r0] - adds r0, r2, 0 - adds r0, 0x3C - adds r1, r0 - ldr r1, [r1] - str r1, [sp, 0xC] - lsls r0, r6, 3 - add r0, r12 - lsls r2, r6, 2 - add r2, r8 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - mov r5, r9 - ldr r3, [r5, 0x4] - str r3, [sp] - str r6, [sp, 0x4] - str r4, [sp, 0x8] - ldr r3, _080C2BE4 @ =gSharedMem - bl HandleLoadSpecialPokePic - adds r0, r6, 0 - ldr r1, [sp, 0xC] - adds r2, r4, 0 - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080C2BE8 @ =gUnknown_02024E8C - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x2] - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x50 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080C2BEC @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r3, r2, r5 - strh r6, [r3, 0x30] - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - strb r1, [r3, 0x5] - adds r5, 0x1C - adds r2, r5 - ldr r1, _080C2BF0 @ =sub_80C3C44 - str r1, [r2] - ldr r2, _080C2BE4 @ =gSharedMem - movs r3, 0xC0 - lsls r3, 9 - adds r1, r2, r3 - strb r0, [r1, 0x8] - ldr r0, _080C2BF4 @ =gUnknown_083D17CC - bl LoadCompressedObjectPic - ldr r0, _080C2BF8 @ =gUnknown_083D17D4 - bl LoadCompressedObjectPalette - ldr r0, _080C2BFC @ =sub_80C3D04 - movs r1, 0xA - bl CreateTask - ldr r0, _080C2C00 @ =gTasks - mov r4, r10 - adds r1, r4, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C2D04 - .align 2, 0 -_080C2BC4: .4byte gBattle_WIN0H -_080C2BC8: .4byte gBattle_WIN0V -_080C2BCC: .4byte 0x00005050 -_080C2BD0: .4byte gContestFinalStandings -_080C2BD4: .4byte gContestMons -_080C2BD8: .4byte gMonFrontPicTable -_080C2BDC: .4byte gMonFrontPicCoords -_080C2BE0: .4byte gUnknown_081FAF4C -_080C2BE4: .4byte gSharedMem -_080C2BE8: .4byte gUnknown_02024E8C -_080C2BEC: .4byte gSprites -_080C2BF0: .4byte sub_80C3C44 -_080C2BF4: .4byte gUnknown_083D17CC -_080C2BF8: .4byte gUnknown_083D17D4 -_080C2BFC: .4byte sub_80C3D04 -_080C2C00: .4byte gTasks -_080C2C04: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080C2D04 - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _080C2C30 - movs r0, 0x20 - strh r0, [r4, 0xC] -_080C2C30: - ldrb r2, [r4, 0xC] - ldr r3, _080C2C50 @ =gBattle_WIN0V - movs r0, 0x50 - subs r0, r2 - lsls r0, 8 - adds r1, r2, 0 - adds r1, 0x50 - orrs r0, r1 - strh r0, [r3] - cmp r2, 0x20 - bne _080C2D04 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C2D04 - .align 2, 0 -_080C2C50: .4byte gBattle_WIN0V -_080C2C54: - ldr r0, _080C2C60 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _080C2D04 - b _080C2CD0 - .align 2, 0 -_080C2C60: .4byte gSharedMem + 0x18000 -_080C2C64: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r4 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x79 - bne _080C2D04 - movs r0, 0 - strh r0, [r3, 0xA] - ldr r2, _080C2C9C @ =gSprites - ldr r0, _080C2CA0 @ =gSharedMem + 0x18000 - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080C2CA4 @ =sub_80C3CB8 - str r1, [r0] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _080C2D04 - .align 2, 0 -_080C2C9C: .4byte gSprites -_080C2CA0: .4byte gSharedMem + 0x18000 -_080C2CA4: .4byte sub_80C3CB8 -_080C2CA8: - ldr r0, _080C2CE0 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x6] - cmp r0, 0x2 - bne _080C2D04 - ldr r3, _080C2CE4 @ =gBattle_WIN0V - ldrh r0, [r3] - lsrs r2, r0, 8 - adds r0, r2, 0x2 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x50 - bls _080C2CC2 - movs r2, 0x50 -_080C2CC2: - lsls r1, r2, 8 - movs r0, 0xA0 - subs r0, r2 - orrs r1, r0 - strh r1, [r3] - cmp r2, 0x50 - bne _080C2D04 -_080C2CD0: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080C2D04 - .align 2, 0 -_080C2CE0: .4byte gSharedMem + 0x18000 -_080C2CE4: .4byte gBattle_WIN0V -_080C2CE8: - ldr r2, _080C2D14 @ =gSharedMem + 0x18000 - ldrb r0, [r2, 0x6] - cmp r0, 0x2 - bne _080C2D04 - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x9] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - strh r1, [r0, 0x8] - ldr r1, _080C2D18 @ =sub_80C2D1C - str r1, [r0] -_080C2D04: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2D14: .4byte gSharedMem + 0x18000 -_080C2D18: .4byte sub_80C2D1C - thumb_func_end sub_80C2A8C - - thumb_func_start sub_80C2D1C -sub_80C2D1C: @ 80C2D1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080C2D6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C2D66 - ldr r0, _080C2D70 @ =gIsLinkContest - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - lsls r6, r7, 2 - cmp r0, 0 - bne _080C2D5A - ldr r5, _080C2D74 @ =gContestMons - movs r4, 0x3 -_080C2D42: - ldrh r0, [r5] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r5, 0x40 - subs r4, 0x1 - cmp r4, 0 - bge _080C2D42 -_080C2D5A: - ldr r0, _080C2D78 @ =gTasks - adds r1, r6, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C2D7C @ =sub_80C2D80 - str r0, [r1] -_080C2D66: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2D6C: .4byte gMain -_080C2D70: .4byte gIsLinkContest -_080C2D74: .4byte gContestMons -_080C2D78: .4byte gTasks -_080C2D7C: .4byte sub_80C2D80 - thumb_func_end sub_80C2D1C - - thumb_func_start sub_80C2D80 -sub_80C2D80: @ 80C2D80 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C2DAC @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C2DBC - ldr r0, _080C2DB0 @ =gOtherText_LinkStandby - bl sub_80C3698 - bl sub_800832C - ldr r1, _080C2DB4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C2DB8 @ =sub_80C2DD8 - str r1, [r0] - b _080C2DCA - .align 2, 0 -_080C2DAC: .4byte gIsLinkContest -_080C2DB0: .4byte gOtherText_LinkStandby -_080C2DB4: .4byte gTasks -_080C2DB8: .4byte sub_80C2DD8 -_080C2DBC: - ldr r0, _080C2DD0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C2DD4 @ =sub_80C2E14 - str r0, [r1] -_080C2DCA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2DD0: .4byte gTasks -_080C2DD4: .4byte sub_80C2E14 - thumb_func_end sub_80C2D80 - - thumb_func_start sub_80C2DD8 -sub_80C2DD8: @ 80C2DD8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C2E04 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _080C2DFC - ldr r0, _080C2E08 @ =gIsLinkContest - strb r1, [r0] - bl sub_80C3764 - ldr r1, _080C2E0C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C2E10 @ =sub_80C2E14 - str r1, [r0] -_080C2DFC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2E04: .4byte gReceivedRemoteLinkPlayers -_080C2E08: .4byte gIsLinkContest -_080C2E0C: .4byte gTasks -_080C2E10: .4byte sub_80C2E14 - thumb_func_end sub_80C2DD8 - - thumb_func_start sub_80C2E14 -sub_80C2E14: @ 80C2E14 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080C2E80 @ =gContestFinalStandings - ldr r0, _080C2E84 @ =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bl sub_80BE284 - movs r0, 0x2 - bl sub_810FB10 - ldr r0, _080C2E88 @ =gSpecialVar_ContestRank - ldrb r0, [r0] - bl Contest_SaveWinner - movs r0, 0xFE - bl Contest_SaveWinner - ldr r4, _080C2E8C @ =gSharedMem - ldr r0, _080C2E90 @ =0x00015ddf - adds r1, r4, r0 - movs r6, 0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0xFE - movs r1, 0 - bl sub_80B2C4C - ldr r1, _080C2E94 @ =0x00015dde - adds r4, r1 - strb r0, [r4] - str r6, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldr r1, _080C2E98 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C2E9C @ =sub_80C2EA0 - str r1, [r0] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C2E80: .4byte gContestFinalStandings -_080C2E84: .4byte gContestPlayerMonIndex -_080C2E88: .4byte gSpecialVar_ContestRank -_080C2E8C: .4byte gSharedMem -_080C2E90: .4byte 0x00015ddf -_080C2E94: .4byte 0x00015dde -_080C2E98: .4byte gTasks -_080C2E9C: .4byte sub_80C2EA0 - thumb_func_end sub_80C2E14 - - thumb_func_start sub_80C2EA0 -sub_80C2EA0: @ 80C2EA0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - ldr r0, _080C2ED8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _080C2F18 - ldr r1, _080C2EDC @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080C2EE8 - ldr r0, _080C2EE0 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x3] - bl DestroyTask - ldr r0, _080C2EE4 @ =0x0000ffff - b _080C2EEE - .align 2, 0 -_080C2ED8: .4byte gPaletteFade -_080C2EDC: .4byte gTasks -_080C2EE0: .4byte gSharedMem + 0x18000 -_080C2EE4: .4byte 0x0000ffff -_080C2EE8: - cmp r0, 0x1 - bne _080C2F04 - ldr r0, _080C2F00 @ =0xffff0000 -_080C2EEE: - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080C2F18 - .align 2, 0 -_080C2F00: .4byte 0xffff0000 -_080C2F04: - ldr r0, _080C2F20 @ =REG_BLDCNT - strh r3, [r0] - adds r0, 0x4 - strh r3, [r0] - adds r0, r5, 0 - bl DestroyTask - ldr r0, _080C2F24 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080C2F18: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2F20: .4byte REG_BLDCNT -_080C2F24: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_80C2EA0 - - thumb_func_start sub_80C2F28 -sub_80C2F28: @ 80C2F28 - push {r4,r5,lr} - ldr r2, _080C2F5C @ =gUnknown_030041B0 - ldrh r3, [r2] - adds r0, r3, 0x2 - strh r0, [r2] - ldr r4, _080C2F60 @ =gUnknown_030041B8 - ldrh r5, [r4] - adds r1, r5, 0x1 - strh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _080C2F48 - adds r0, r3, 0 - subs r0, 0xFD - strh r0, [r2] -_080C2F48: - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _080C2F56 - adds r0, r5, 0 - subs r0, 0xFE - strh r0, [r4] -_080C2F56: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2F5C: .4byte gUnknown_030041B0 -_080C2F60: .4byte gUnknown_030041B8 - thumb_func_end sub_80C2F28 - - thumb_func_start sub_80C2F64 -sub_80C2F64: @ 80C2F64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C2F94 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080C2FE6 - movs r0, 0 - strh r0, [r2, 0x8] - movs r3, 0xC - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080C2F98 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - b _080C2F9C - .align 2, 0 -_080C2F94: .4byte gTasks -_080C2F98: - ldrh r0, [r2, 0xA] - subs r0, 0x1 -_080C2F9C: - strh r0, [r2, 0xA] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x10 - bne _080C2FB2 - movs r0, 0x1 - b _080C2FB6 -_080C2FB2: - cmp r0, 0 - bne _080C2FB8 -_080C2FB6: - strh r0, [r1, 0xC] -_080C2FB8: - ldr r0, _080C3000 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r2, [r4, 0xA] - ldr r3, _080C3004 @ =0x00002ede - movs r0, 0x6B - movs r1, 0x1 - bl BlendPalette - ldrb r2, [r4, 0xA] - ldr r3, _080C3008 @ =0x00007fff - movs r0, 0x68 - movs r1, 0x1 - bl BlendPalette - ldrb r2, [r4, 0xA] - ldr r3, _080C300C @ =0x000077be - movs r0, 0x6E - movs r1, 0x1 - bl BlendPalette -_080C2FE6: - ldr r1, _080C3000 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r3, 0xA - ldrsh r4, [r0, r3] - cmp r4, 0 - bne _080C3014 - ldr r0, _080C3010 @ =gSharedMem + 0x18000 - strb r4, [r0, 0xA] - b _080C301A - .align 2, 0 -_080C3000: .4byte gTasks -_080C3004: .4byte 0x00002ede -_080C3008: .4byte 0x00007fff -_080C300C: .4byte 0x000077be -_080C3010: .4byte gSharedMem + 0x18000 -_080C3014: - ldr r1, _080C3020 @ =gSharedMem + 0x18000 - movs r0, 0x1 - strb r0, [r1, 0xA] -_080C301A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3020: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C2F64 - - thumb_func_start sub_80C3024 -sub_80C3024: @ 80C3024 - push {r4-r6,lr} - ldr r6, [sp, 0x10] - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - cmp r3, 0 - beq _080C30B0 - adds r1, r6, 0 - bl GetMonIconPtr - lsls r1, r5, 9 - adds r0, r1 - adds r0, 0x80 - lsls r1, r4, 9 - ldr r2, _080C30A0 @ =0x06004000 - adds r1, r2 - ldr r2, _080C30A4 @ =0x040000d4 - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _080C30A8 @ =0x84000060 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r1, r4, 0 - adds r1, 0xA - lsls r1, 28 - lsls r0, r4, 20 - movs r2, 0x80 - lsls r2, 18 - adds r0, r2 - orrs r0, r1 - lsrs r1, r0, 16 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 21 - movs r2, 0x83 - lsls r2, 16 - adds r0, r2 - lsrs r5, r0, 16 - movs r2, 0 - ldr r6, _080C30AC @ =0x0600c000 -_080C307C: - lsls r0, r2, 5 - adds r4, r2, 0x1 - adds r0, r5 - movs r3, 0x3 - lsls r0, 1 - adds r2, r0, r6 -_080C3088: - strh r1, [r2] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080C3088 - adds r2, r4, 0 - cmp r2, 0x2 - ble _080C307C - b _080C30CA - .align 2, 0 -_080C30A0: .4byte 0x06004000 -_080C30A4: .4byte 0x040000d4 -_080C30A8: .4byte 0x84000060 -_080C30AC: .4byte 0x0600c000 -_080C30B0: - adds r1, r6, 0 - bl GetMonIconPtr - lsls r1, r5, 9 - adds r0, r1 - adds r0, 0x80 - lsls r1, r4, 9 - ldr r2, _080C30D0 @ =0x06004000 - adds r1, r2 - movs r2, 0xC0 - lsls r2, 1 - bl RequestSpriteCopy -_080C30CA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C30D0: .4byte 0x06004000 - thumb_func_end sub_80C3024 - - thumb_func_start sub_80C30D4 -sub_80C30D4: @ 80C30D4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r5, 0 - ldr r4, _080C3108 @ =gContestMons -_080C30E4: - ldrh r0, [r4] - lsls r1, r5, 24 - lsrs r1, 24 - ldr r2, [r4, 0x38] - str r2, [sp] - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_80C3024 - adds r4, 0x40 - adds r5, 0x1 - cmp r5, 0x3 - ble _080C30E4 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3108: .4byte gContestMons - thumb_func_end sub_80C30D4 - - thumb_func_start sub_80C310C -sub_80C310C: @ 80C310C - push {r4-r6,lr} - movs r4, 0 - ldr r6, _080C314C @ =gMonIconPaletteIndices - movs r5, 0xA0 - lsls r5, 16 -_080C3116: - ldr r1, _080C3150 @ =gContestMons - lsls r0, r4, 6 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 5 - ldr r1, _080C3154 @ =gMonIconPalettes - adds r0, r1 - lsrs r1, r5, 16 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x80 - lsls r0, 13 - adds r5, r0 - adds r4, 0x1 - cmp r4, 0x3 - ble _080C3116 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C314C: .4byte gMonIconPaletteIndices -_080C3150: .4byte gContestMons -_080C3154: .4byte gMonIconPalettes - thumb_func_end sub_80C310C - - thumb_func_start sub_80C3158 -sub_80C3158: @ 80C3158 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r3, _080C32C0 @ =gSprites - adds r2, r3 - mov r1, sp - ldrh r0, [r2, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1] - mov r4, sp - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r4, 0x2] - movs r0, 0x30 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r4, 0x4] - movs r0, 0x32 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r4, 0x6] - ldr r1, _080C32C4 @ =gWindowConfig_81E7278 - mov r8, r1 - ldr r7, _080C32C8 @ =0x06010000 - ldr r2, _080C32CC @ =0x040000d4 - ldr r6, _080C32D0 @ =0x85000100 - mov r1, sp - movs r5, 0 - add r3, sp, 0x8 - movs r4, 0x3 -_080C31CE: - ldrh r0, [r1] - lsls r0, 5 - adds r0, r7 - str r5, [sp, 0x8] - str r3, [r2] - str r0, [r2, 0x4] - str r6, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080C31CE - mov r0, r8 - mov r1, r9 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080C32D4 @ =gDisplayedStringBattle - ldr r1, _080C32D8 @ =gUnknown_083D17E2 - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - mvns r0, r5 - adds r1, r0, 0x1 - movs r0, 0x7 - ands r1, r0 - cmp r1, 0 - beq _080C3218 - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x11 - strb r0, [r2, 0x1] - lsrs r0, r1, 1 - strb r0, [r2, 0x2] - adds r2, 0x3 -_080C3218: - adds r6, r5, 0x7 - movs r1, 0x8 - negs r1, r1 - adds r0, r1, 0 - ands r6, r0 - lsls r6, 24 - lsrs r5, r6, 24 - adds r0, r2, 0 - mov r1, r9 - bl StringCopy - adds r2, r0, 0 - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - strb r5, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r0, _080C32DC @ =gSharedMem + 0x18068 - mov r10, r0 - ldr r1, _080C32D4 @ =gDisplayedStringBattle - bl sub_80034D4 - mov r0, sp - ldrh r4, [r0] - lsls r4, 5 - ldr r1, _080C32C8 @ =0x06010000 - adds r7, r4, r1 - ldr r0, _080C32E0 @ =gUnknown_083D1624 - mov r9, r0 - ldr r1, _080C32E4 @ =REG_BG0CNT - mov r8, r1 - adds r1, r7, 0 - mov r2, r8 - bl CpuSet - mov r5, r9 - adds r5, 0x80 - ldr r0, _080C32E8 @ =0x06010100 - adds r1, r4, r0 - adds r0, r5, 0 - mov r2, r8 - bl CpuSet - ldr r0, _080C32EC @ =0x06010200 - adds r1, r4, r0 - adds r0, r5, 0 - mov r2, r8 - bl CpuSet - mov r0, r9 - adds r0, 0x40 - ldr r1, _080C32F0 @ =0x06010300 - adds r4, r1 - adds r1, r4, 0 - mov r2, r8 - bl CpuSet - lsrs r5, r6, 27 - movs r4, 0 - cmp r4, r5 - bgt _080C3382 - mov r6, sp - mov r0, r10 - adds r0, 0x20 - str r0, [sp, 0xC] - mov r1, r10 - str r1, [sp, 0x10] - ldr r0, _080C32F4 @ =0x0600fd20 - str r0, [sp, 0x14] - ldr r1, _080C32F8 @ =0x0600fe20 - str r1, [sp, 0x18] - ldr r0, _080C32FC @ =0x0600ff20 - mov r10, r0 - ldr r1, _080C3300 @ =0x06010020 - mov r9, r1 -_080C32B2: - cmp r4, 0x6 - bgt _080C3304 - ldrh r0, [r6] - lsls r0, 5 - mov r1, r9 - b _080C3322 - .align 2, 0 -_080C32C0: .4byte gSprites -_080C32C4: .4byte gWindowConfig_81E7278 -_080C32C8: .4byte 0x06010000 -_080C32CC: .4byte 0x040000d4 -_080C32D0: .4byte 0x85000100 -_080C32D4: .4byte gDisplayedStringBattle -_080C32D8: .4byte gUnknown_083D17E2 -_080C32DC: .4byte gSharedMem + 0x18068 -_080C32E0: .4byte gUnknown_083D1624 -_080C32E4: .4byte REG_BG0CNT -_080C32E8: .4byte 0x06010100 -_080C32EC: .4byte 0x06010200 -_080C32F0: .4byte 0x06010300 -_080C32F4: .4byte 0x0600fd20 -_080C32F8: .4byte 0x0600fe20 -_080C32FC: .4byte 0x0600ff20 -_080C3300: .4byte 0x06010020 -_080C3304: - cmp r4, 0xE - bgt _080C3310 - ldrh r0, [r6, 0x2] - lsls r0, 5 - mov r1, r10 - b _080C3322 -_080C3310: - cmp r4, 0x16 - bgt _080C331C - ldrh r0, [r6, 0x4] - lsls r0, 5 - ldr r1, [sp, 0x18] - b _080C3322 -_080C331C: - ldrh r0, [r6, 0x6] - lsls r0, 5 - ldr r1, [sp, 0x14] -_080C3322: - adds r7, r0, r1 - cmp r4, r5 - beq _080C3382 - ldr r0, _080C33D0 @ =gUnknown_083D16E4 - adds r1, r7, 0 - mov r2, r8 - bl CpuSet - movs r0, 0xC0 - lsls r0, 2 - adds r1, r7, r0 - ldr r0, _080C33D0 @ =gUnknown_083D16E4 - adds r0, 0x20 - mov r2, r8 - bl CpuSet - movs r0, 0x80 - lsls r0, 1 - adds r1, r7, r0 - ldr r0, [sp, 0x10] - mov r2, r8 - bl CpuSet - movs r0, 0x80 - lsls r0, 2 - adds r1, r7, r0 - ldr r0, [sp, 0xC] - mov r2, r8 - bl CpuSet - ldr r1, [sp, 0xC] - adds r1, 0x40 - str r1, [sp, 0xC] - ldr r0, [sp, 0x10] - adds r0, 0x40 - str r0, [sp, 0x10] - ldr r1, [sp, 0x14] - adds r1, 0x20 - str r1, [sp, 0x14] - ldr r0, [sp, 0x18] - adds r0, 0x20 - str r0, [sp, 0x18] - movs r1, 0x20 - add r10, r1 - add r9, r1 - adds r4, 0x1 - cmp r4, r5 - ble _080C32B2 -_080C3382: - ldr r4, _080C33D4 @ =gUnknown_083D1644 - ldr r5, _080C33D8 @ =REG_BG0CNT - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r5, 0 - bl CpuSet - adds r6, r4, 0 - adds r6, 0x80 - movs r0, 0x80 - lsls r0, 1 - adds r1, r7, r0 - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - movs r0, 0x80 - lsls r0, 2 - adds r1, r7, r0 - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - adds r4, 0x40 - movs r0, 0xC0 - lsls r0, 2 - adds r1, r7, r0 - adds r0, r4, 0 - adds r2, r5, 0 - bl CpuSet - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C33D0: .4byte gUnknown_083D16E4 -_080C33D4: .4byte gUnknown_083D1644 -_080C33D8: .4byte REG_BG0CNT - thumb_func_end sub_80C3158 - - thumb_func_start sub_80C33DC -sub_80C33DC: @ 80C33DC - push {r4-r6,lr} - sub sp, 0x20 - mov r1, sp - ldr r0, _080C3498 @ =gSpriteTemplate_83D174C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - add r5, sp, 0x18 - ldr r6, _080C349C @ =gUnknown_083D1764 - movs r4, 0x7 -_080C33F2: - adds r0, r6, 0 - bl LoadSpriteSheet - adds r6, 0x8 - subs r4, 0x1 - cmp r4, 0 - bge _080C33F2 - ldr r0, _080C34A0 @ =gUnknown_083D17A4 - bl LoadSpritePalette - movs r4, 0 - mov r6, sp -_080C340A: - mov r0, sp - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - adds r1, r5, r4 - strb r0, [r1] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - adds r4, 0x1 - cmp r4, 0x7 - ble _080C340A - ldr r2, _080C34A4 @ =gSprites - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x1] - movs r3, 0 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x2] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x3] - strh r1, [r0, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x5] - strh r1, [r0, 0x2E] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x6] - strh r1, [r0, 0x30] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r5, 0x7] - strh r1, [r0, 0x32] - ldr r1, _080C34A8 @ =gSharedMem + 0x18000 - ldrb r0, [r5] - strb r0, [r1] - strb r3, [r1, 0x4] - ldrb r0, [r5, 0x4] - strb r0, [r1, 0x1] - bl sub_80C3764 - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3498: .4byte gSpriteTemplate_83D174C -_080C349C: .4byte gUnknown_083D1764 -_080C34A0: .4byte gUnknown_083D17A4 -_080C34A4: .4byte gSprites -_080C34A8: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C33DC - - thumb_func_start sub_80C34AC -sub_80C34AC: @ 80C34AC - push {lr} - bl StringLength - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 25 - lsrs r1, 25 - movs r0, 0x70 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80C34AC - - thumb_func_start sub_80C34CC -sub_80C34CC: @ 80C34CC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, _080C3514 @ =gSharedMem + 0x18000 - mov r8, r4 - ldrb r5, [r4] - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r5, _080C3518 @ =gSprites - adds r4, r5 - movs r6, 0 - movs r5, 0x88 - lsls r5, 1 - strh r5, [r4, 0x20] - strh r1, [r4, 0x22] - strh r6, [r4, 0x24] - strh r6, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - adds r0, 0x20 - strh r0, [r4, 0x36] - strh r2, [r4, 0x38] - strh r3, [r4, 0x3A] - strh r6, [r4, 0x3C] - ldr r0, _080C351C @ =sub_80C3588 - str r0, [r4, 0x1C] - movs r0, 0x1 - mov r1, r8 - strb r0, [r1, 0x4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3514: .4byte gSharedMem + 0x18000 -_080C3518: .4byte gSprites -_080C351C: .4byte sub_80C3588 - thumb_func_end sub_80C34CC - - thumb_func_start sub_80C3520 -sub_80C3520: @ 80C3520 - push {r4,r5,lr} - ldr r4, _080C3558 @ =gSharedMem + 0x18000 - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _080C355C @ =gSprites - adds r1, r2 - ldrh r2, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r2, r3 - movs r3, 0 - strh r2, [r1, 0x20] - ldrh r2, [r1, 0x26] - ldrh r5, [r1, 0x22] - adds r2, r5 - strh r2, [r1, 0x22] - strh r3, [r1, 0x26] - strh r3, [r1, 0x24] - strh r0, [r1, 0x3A] - strh r3, [r1, 0x3C] - ldr r0, _080C3560 @ =sub_80C3630 - str r0, [r1, 0x1C] - movs r0, 0x3 - strb r0, [r4, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3558: .4byte gSharedMem + 0x18000 -_080C355C: .4byte gSprites -_080C3560: .4byte sub_80C3630 - thumb_func_end sub_80C3520 - - thumb_func_start sub_80C3564 -sub_80C3564: @ 80C3564 - movs r3, 0 - movs r2, 0 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r1, 0x90 - strh r1, [r0, 0x22] - strh r2, [r0, 0x26] - strh r2, [r0, 0x24] - ldr r1, _080C3580 @ =SpriteCallbackDummy - str r1, [r0, 0x1C] - ldr r0, _080C3584 @ =gSharedMem + 0x18000 - strb r3, [r0, 0x4] - bx lr - .align 2, 0 -_080C3580: .4byte SpriteCallbackDummy -_080C3584: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3564 - - thumb_func_start sub_80C3588 -sub_80C3588: @ 80C3588 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - ldrh r0, [r3, 0x3C] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r3, 0x3C] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r3, 0x36] - movs r4, 0x36 - ldrsh r1, [r3, r4] - cmp r0, r1 - bge _080C35B2 - strh r2, [r3, 0x20] -_080C35B2: - movs r4, 0 - ldr r6, _080C35F4 @ =gSprites - movs r5, 0x40 - adds r2, r3, 0 - adds r2, 0x2E -_080C35BC: - movs r7, 0 - ldrsh r0, [r2, r7] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r3, 0x24] - ldrh r7, [r3, 0x20] - adds r0, r7 - adds r0, r5 - strh r0, [r1, 0x20] - adds r5, 0x40 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _080C35BC - movs r0, 0x20 - ldrsh r1, [r3, r0] - movs r2, 0x36 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _080C35EC - ldr r0, _080C35F8 @ =sub_80C35FC - str r0, [r3, 0x1C] -_080C35EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C35F4: .4byte gSprites -_080C35F8: .4byte sub_80C35FC - thumb_func_end sub_80C3588 - - thumb_func_start sub_80C35FC -sub_80C35FC: @ 80C35FC - push {lr} - adds r2, r0, 0 - ldr r0, _080C3628 @ =gSharedMem + 0x18000 - movs r1, 0x2 - strb r1, [r0, 0x4] - ldrh r3, [r2, 0x38] - ldr r1, _080C362C @ =0xffff0000 - lsrs r0, r1, 16 - cmp r3, r0 - beq _080C3624 - subs r0, r3, 0x1 - strh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 16 - asrs r1, 16 - cmp r0, r1 - bne _080C3624 - ldrh r0, [r2, 0x3A] - bl sub_80C3520 -_080C3624: - pop {r0} - bx r0 - .align 2, 0 -_080C3628: .4byte gSharedMem + 0x18000 -_080C362C: .4byte 0xffff0000 - thumb_func_end sub_80C35FC - - thumb_func_start sub_80C3630 -sub_80C3630: @ 80C3630 - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - ldrh r0, [r3, 0x3C] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x3C] - movs r4, 0 - ldr r6, _080C3694 @ =gSprites - movs r5, 0x40 - adds r2, r3, 0 - adds r2, 0x2E -_080C3654: - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r3, 0x24] - ldrh r7, [r3, 0x20] - adds r0, r7 - adds r0, r5 - strh r0, [r1, 0x20] - adds r5, 0x40 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _080C3654 - movs r1, 0x20 - ldrsh r0, [r3, r1] - movs r2, 0x24 - ldrsh r1, [r3, r2] - adds r0, r1 - movs r1, 0xE0 - negs r1, r1 - cmp r0, r1 - bge _080C368C - adds r0, r3, 0 - bl sub_80C3564 -_080C368C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3694: .4byte gSprites - thumb_func_end sub_80C3630 - - thumb_func_start sub_80C3698 -sub_80C3698: @ 80C3698 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, _080C374C @ =gSharedMem + 0x18000 - ldrb r1, [r5, 0x1] - bl sub_80C3158 - adds r0, r4, 0 - bl sub_80C34AC - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r3, _080C3750 @ =gSprites - adds r4, r1, r3 - adds r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x50 - strh r0, [r4, 0x22] - adds r5, r4, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r5] - movs r5, 0 - adds r6, r3, 0 - mov r12, r2 - movs r3, 0x40 -_080C36DA: - lsls r0, r5, 1 - adds r2, r4, 0 - adds r2, 0x2E - adds r2, r0 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r4, 0x24] - ldrh r7, [r4, 0x20] - adds r0, r7 - adds r0, r3 - strh r0, [r1, 0x20] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0x22] - strh r1, [r0, 0x22] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - adds r3, 0x40 - adds r5, 0x1 - cmp r5, 0x2 - ble _080C36DA - ldr r1, _080C3754 @ =gBattle_WIN0H - movs r0, 0xF0 - strh r0, [r1] - ldr r2, _080C3758 @ =gBattle_WIN0V - ldrh r1, [r4, 0x22] - adds r0, r1, 0 - subs r0, 0x10 - lsls r0, 8 - adds r1, 0x10 - orrs r0, r1 - strh r0, [r2] - ldr r1, _080C375C @ =REG_WININ - ldr r2, _080C3760 @ =0x00003f3e - adds r0, r2, 0 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C374C: .4byte gSharedMem + 0x18000 -_080C3750: .4byte gSprites -_080C3754: .4byte gBattle_WIN0H -_080C3758: .4byte gBattle_WIN0V -_080C375C: .4byte REG_WININ -_080C3760: .4byte 0x00003f3e - thumb_func_end sub_80C3698 - - thumb_func_start sub_80C3764 -sub_80C3764: @ 80C3764 - push {r4-r7,lr} - ldr r0, _080C37C8 @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r3, _080C37CC @ =gSprites - adds r2, r3 - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x4 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r7, _080C37D0 @ =gBattle_WIN0H - ldr r6, _080C37D4 @ =gBattle_WIN0V - adds r5, r3, 0 - movs r4, 0x4 - adds r2, 0x2E - movs r3, 0x2 -_080C3790: - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080C3790 - movs r1, 0 - strh r1, [r7] - strh r1, [r6] - ldr r0, _080C37D8 @ =REG_WIN0H - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - ldr r1, _080C37DC @ =REG_WININ - ldr r2, _080C37E0 @ =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C37C8: .4byte gSharedMem + 0x18000 -_080C37CC: .4byte gSprites -_080C37D0: .4byte gBattle_WIN0H -_080C37D4: .4byte gBattle_WIN0V -_080C37D8: .4byte REG_WIN0H -_080C37DC: .4byte REG_WININ -_080C37E0: .4byte 0x00003f3f - thumb_func_end sub_80C3764 - - thumb_func_start de_sub_80C39A8 -de_sub_80C39A8: @ 80C39A8 - push {r4,lr} - sub sp, 0x10 - adds r1, r0, 0 - ldr r0, _de_080C39DC @ =gIsLinkContest - ldrb r0, [r0] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _de_080C39E8 - ldr r0, _de_080C39E0 @ =0x0600e000 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _de_080C39E4 @ =gUnknown_08E964B8 - movs r2, 0xB - str r2, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - movs r2, 0x8 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl sub_809D104 - movs r0, 0x8 - b _de_080C3A74 - .align 2, 0 -_de_080C39DC: .4byte gIsLinkContest -_de_080C39E0: .4byte 0x0600e000 -_de_080C39E4: .4byte gUnknown_08E964B8 -_de_080C39E8: - ldr r0, _de_080C3A08 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r0, 0 - bne _de_080C3A14 - ldr r0, _de_080C3A0C @ =0x0600e000 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _de_080C3A10 @ =gUnknown_08E964B8 - str r4, [sp] - str r4, [sp, 0x4] - movs r2, 0xB - str r2, [sp, 0x8] - movs r2, 0x3 - str r2, [sp, 0xC] - b _de_080C3A6C - .align 2, 0 -_de_080C3A08: .4byte gSpecialVar_ContestRank -_de_080C3A0C: .4byte 0x0600e000 -_de_080C3A10: .4byte gUnknown_08E964B8 -_de_080C3A14: - cmp r0, 0x1 - bne _de_080C3A2C - ldr r0, _de_080C3A24 @ =0x0600e000 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _de_080C3A28 @ =gUnknown_08E964B8 - movs r2, 0xB - b _de_080C3A3A - .align 2, 0 -_de_080C3A24: .4byte 0x0600e000 -_de_080C3A28: .4byte gUnknown_08E964B8 -_de_080C3A2C: - cmp r0, 0x2 - bne _de_080C3A58 - ldr r0, _de_080C3A50 @ =0x0600e000 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _de_080C3A54 @ =gUnknown_08E964B8 - movs r2, 0x15 -_de_080C3A3A: - str r2, [sp] - str r4, [sp, 0x4] - movs r2, 0xA - str r2, [sp, 0x8] - movs r2, 0x3 - str r2, [sp, 0xC] - movs r2, 0 - bl sub_809D104 - movs r0, 0xA - b _de_080C3A74 - .align 2, 0 -_de_080C3A50: .4byte 0x0600e000 -_de_080C3A54: .4byte gUnknown_08E964B8 -_de_080C3A58: - ldr r0, _de_080C3A7C @ =0x0600e000 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _de_080C3A80 @ =gUnknown_08E964B8 - str r4, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - movs r2, 0xB - str r2, [sp, 0x8] - str r4, [sp, 0xC] -_de_080C3A6C: - movs r2, 0 - bl sub_809D104 - movs r0, 0xB -_de_080C3A74: - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_de_080C3A7C: .4byte 0x0600e000 -_de_080C3A80: .4byte gUnknown_08E964B8 - thumb_func_end de_sub_80C39A8 - - thumb_func_start de_sub_80C3A84 -de_sub_80C3A84: @ 80C3A84 - push {r4,lr} - sub sp, 0x10 - adds r2, r0, 0 - ldr r0, _de_080C3AAC @ =gSpecialVar_ContestCategory - ldrh r4, [r0] - cmp r4, 0 - bne _de_080C3AB8 - str r4, [r1] - ldr r0, _de_080C3AB0 @ =0x0600e000 - lsls r1, r2, 16 - lsrs r1, 16 - ldr r3, _de_080C3AB4 @ =gUnknown_08E964B8 - movs r2, 0x13 - str r2, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - movs r2, 0x7 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - b _de_080C3AD6 - .align 2, 0 -_de_080C3AAC: .4byte gSpecialVar_ContestCategory -_de_080C3AB0: .4byte 0x0600e000 -_de_080C3AB4: .4byte gUnknown_08E964B8 -_de_080C3AB8: - cmp r4, 0x1 - bne _de_080C3AE8 - str r4, [r1] - ldr r0, _de_080C3AE0 @ =0x0600e000 - lsls r1, r2, 16 - lsrs r1, 16 - ldr r3, _de_080C3AE4 @ =gUnknown_08E964B8 - movs r2, 0 - str r2, [sp] - movs r2, 0x6 - str r2, [sp, 0x4] - movs r2, 0x7 - str r2, [sp, 0x8] - movs r2, 0x3 - str r2, [sp, 0xC] -_de_080C3AD6: - movs r2, 0 - bl sub_809D104 - movs r0, 0x7 - b _de_080C3B68 - .align 2, 0 -_de_080C3AE0: .4byte 0x0600e000 -_de_080C3AE4: .4byte gUnknown_08E964B8 -_de_080C3AE8: - cmp r4, 0x2 - bne _de_080C3B18 - str r4, [r1] - ldr r0, _de_080C3B10 @ =0x0600e000 - lsls r1, r2, 16 - lsrs r1, 16 - ldr r3, _de_080C3B14 @ =gUnknown_08E964B8 - movs r2, 0x7 - str r2, [sp] - movs r2, 0x6 - str r2, [sp, 0x4] - movs r2, 0x4 - str r2, [sp, 0x8] - movs r2, 0x3 - str r2, [sp, 0xC] - movs r2, 0 - bl sub_809D104 - movs r0, 0x4 - b _de_080C3B68 - .align 2, 0 -_de_080C3B10: .4byte 0x0600e000 -_de_080C3B14: .4byte gUnknown_08E964B8 -_de_080C3B18: - cmp r4, 0x3 - bne _de_080C3B44 - str r4, [r1] - ldr r0, _de_080C3B3C @ =0x0600e000 - lsls r1, r2, 16 - lsrs r1, 16 - ldr r3, _de_080C3B40 @ =gUnknown_08E964B8 - movs r2, 0xB - str r2, [sp] - movs r2, 0x6 - str r2, [sp, 0x4] - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl sub_809D104 - movs r0, 0x6 - b _de_080C3B68 - .align 2, 0 -_de_080C3B3C: .4byte 0x0600e000 -_de_080C3B40: .4byte gUnknown_08E964B8 -_de_080C3B44: - movs r0, 0x4 - str r0, [r1] - ldr r0, _de_080C3B70 @ =0x0600e000 - lsls r1, r2, 16 - lsrs r1, 16 - ldr r3, _de_080C3B74 @ =gUnknown_08E964B8 - movs r2, 0x11 - str r2, [sp] - movs r2, 0x6 - str r2, [sp, 0x4] - movs r2, 0x5 - str r2, [sp, 0x8] - movs r2, 0x3 - str r2, [sp, 0xC] - movs r2, 0 - bl sub_809D104 - movs r0, 0x5 -_de_080C3B68: - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_de_080C3B70: .4byte 0x0600e000 -_de_080C3B74: .4byte gUnknown_08E964B8 - thumb_func_end de_sub_80C3A84 - - thumb_func_start sub_80C37E4 -sub_80C37E4: @ 80C37E4 - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x6 - bl de_sub_80C39A8 - lsls r0, 16 - asrs r0, 16 - adds r0, 0x6 - mov r1, sp - bl de_sub_80C3A84 - ldr r5, _080C3824 @ =0x00000fff - ldr r0, [sp] - lsls r4, r0, 12 - ldr r2, _080C3828 @ =0x0600e000 - movs r3, 0x7F -_080C3804: - ldrh r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strh r0, [r2] - ldrh r1, [r2] - adds r0, r4, 0 - orrs r0, r1 - strh r0, [r2] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080C3804 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3824: .4byte 0x00000fff -_080C3828: .4byte 0x0600e000 - thumb_func_end sub_80C37E4 - - thumb_func_start sub_80C3990 -sub_80C3990: @ 80C3990 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r1, _080C39DC @ =gUnknown_02038670 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x3F - bl __udivsi3 - adds r1, r0, 0 - ldr r0, _080C39E0 @ =0x0000ffff - ands r0, r1 - cmp r0, 0 - beq _080C39BC - movs r0, 0x80 - lsls r0, 9 - adds r1, r0 -_080C39BC: - lsrs r1, 16 - cmp r1, 0 - bne _080C39C8 - cmp r4, 0 - beq _080C39C8 - movs r1, 0x1 -_080C39C8: - cmp r5, 0 - beq _080C39D2 - cmp r1, 0xA - bls _080C39D2 - movs r1, 0xA -_080C39D2: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C39DC: .4byte gUnknown_02038670 -_080C39E0: .4byte 0x0000ffff - thumb_func_end sub_80C3990 - - thumb_func_start sub_80C39E4 -sub_80C39E4: @ 80C39E4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, _080C3A44 @ =gUnknown_02038688 - lsls r0, r5, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0 - bge _080C3A00 - negs r0, r0 -_080C3A00: - lsls r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x50 - bl __udivsi3 - adds r2, r0, 0 - ldr r0, _080C3A48 @ =0x0000ffff - ands r0, r2 - cmp r0, 0 - beq _080C3A1A - movs r0, 0x80 - lsls r0, 9 - adds r2, r0 -_080C3A1A: - lsrs r2, 16 - cmp r2, 0 - bne _080C3A26 - cmp r4, 0 - beq _080C3A26 - movs r2, 0x1 -_080C3A26: - cmp r6, 0 - beq _080C3A30 - cmp r2, 0xA - bls _080C3A30 - movs r2, 0xA -_080C3A30: - lsls r0, r5, 1 - adds r0, r7 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080C3A4C - negs r0, r2 - lsls r0, 24 - b _080C3A4E - .align 2, 0 -_080C3A44: .4byte gUnknown_02038688 -_080C3A48: .4byte 0x0000ffff -_080C3A4C: - lsls r0, r2, 24 -_080C3A4E: - lsrs r0, 24 - lsls r0, 24 - asrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C39E4 - - thumb_func_start sub_80C3A5C -sub_80C3A5C: @ 80C3A5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, _080C3A90 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0x1C] - movs r1, 0x1C - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080C3A94 - movs r1, 0x8 - ldrsh r0, [r3, r1] - movs r1, 0x3 - subs r1, r0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - strh r0, [r3, 0x1E] - adds r0, r2, 0x1 - strh r0, [r3, 0x1C] - b _080C3B12 - .align 2, 0 -_080C3A90: .4byte gTasks -_080C3A94: - cmp r0, 0x1 - bne _080C3B12 - ldrh r0, [r3, 0x1E] - subs r0, 0x1 - strh r0, [r3, 0x1E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080C3B12 - movs r0, 0x8 - ldrsh r2, [r3, r0] - lsls r2, 17 - ldr r1, _080C3B18 @ =0x50430000 - adds r2, r1 - lsrs r2, 16 - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 6 - ldr r1, _080C3B1C @ =0x0600e142 - adds r0, r1 - strh r2, [r0] - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 6 - ldr r1, _080C3B20 @ =0x0600e144 - adds r0, r1 - adds r1, r2, 0x1 - strh r1, [r0] - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 6 - ldr r1, _080C3B24 @ =0x0600e182 - adds r0, r1 - adds r1, r2, 0 - adds r1, 0x10 - strh r1, [r0] - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 6 - ldr r1, _080C3B28 @ =0x0600e184 - adds r0, r1 - adds r2, 0x11 - strh r2, [r0] - ldr r1, _080C3B2C @ =gSharedMem + 0x18000 - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - adds r0, r4, 0 - bl DestroyTask - movs r0, 0x18 - bl PlaySE -_080C3B12: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C3B18: .4byte 0x50430000 -_080C3B1C: .4byte 0x0600e142 -_080C3B20: .4byte 0x0600e144 -_080C3B24: .4byte 0x0600e182 -_080C3B28: .4byte 0x0600e184 -_080C3B2C: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3A5C - - thumb_func_start sub_80C3B30 -sub_80C3B30: @ 80C3B30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r5, 0 - ldr r1, _080C3BC0 @ =gContestFinalStandings - ldrb r0, [r1] - ldr r2, _080C3BC4 @ =gTasks - mov r10, r2 - cmp r0, 0 - beq _080C3B5C -_080C3B4E: - adds r5, 0x1 - cmp r5, 0x3 - bgt _080C3B5C - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C3B4E -_080C3B5C: - movs r1, 0 - lsls r0, r5, 1 - mov r2, r12 - lsls r2, 2 - mov r9, r2 - adds r0, r5 - lsls r0, 5 - mov r8, r0 - ldr r7, _080C3BC8 @ =0x00000fff - movs r0, 0x90 - lsls r0, 8 - adds r6, r0, 0 -_080C3B74: - lsls r0, r1, 5 - adds r4, r1, 0x1 - add r0, r8 - movs r3, 0x1D - lsls r0, 1 - ldr r1, _080C3BCC @ =0x0600e100 - adds r2, r0, r1 -_080C3B82: - ldrh r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strh r0, [r2] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080C3B82 - adds r1, r4, 0 - cmp r1, 0x2 - ble _080C3B74 - mov r0, r9 - add r0, r12 - lsls r0, 3 - add r0, r10 - strh r5, [r0, 0x1C] - movs r1, 0x1 - strh r1, [r0, 0x20] - ldr r2, _080C3BD0 @ =sub_80C3BD8 - str r2, [r0] - mov r1, r12 - ldr r0, _080C3BD4 @ =gSharedMem + 0x18000 - strb r1, [r0, 0x3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3BC0: .4byte gContestFinalStandings -_080C3BC4: .4byte gTasks -_080C3BC8: .4byte 0x00000fff -_080C3BCC: .4byte 0x0600e100 -_080C3BD0: .4byte sub_80C3BD8 -_080C3BD4: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3B30 - - thumb_func_start sub_80C3BD8 -sub_80C3BD8: @ 80C3BD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C3C24 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0x1 - bne _080C3C3C - movs r0, 0 - strh r0, [r4, 0x1E] - ldrh r2, [r4, 0x20] - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080C3C28 @ =0x00006f8d - movs r0, 0x91 - movs r1, 0x1 - bl BlendPalette - movs r1, 0x22 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080C3C2C - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080C3C3C - strh r5, [r4, 0x22] - b _080C3C3C - .align 2, 0 -_080C3C24: .4byte gTasks -_080C3C28: .4byte 0x00006f8d -_080C3C2C: - ldrh r0, [r4, 0x20] - subs r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080C3C3C - strh r0, [r4, 0x22] -_080C3C3C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C3BD8 - - thumb_func_start sub_80C3C44 -sub_80C3C44: @ 80C3C44 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x9 - bgt _080C3C6C - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080C3CA8 - ldrh r0, [r4, 0x30] - movs r1, 0 - bl PlayCry1 - movs r0, 0 - strh r0, [r4, 0x30] - b _080C3CA8 -_080C3C6C: - movs r0, 0xC0 - lsls r0, 3 - adds r2, r0, 0 - ldrh r1, [r4, 0x30] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x77 - bgt _080C3C92 - movs r0, 0x78 - strh r0, [r4, 0x20] -_080C3C92: - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - bne _080C3CA8 - ldr r0, _080C3CB0 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x30] - ldr r1, _080C3CB4 @ =gSharedMem + 0x18000 - movs r0, 0x1 - strb r0, [r1, 0x6] -_080C3CA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C3CB0: .4byte SpriteCallbackDummy -_080C3CB4: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3C44 - - thumb_func_start sub_80C3CB8 -sub_80C3CB8: @ 80C3CB8 - push {lr} - adds r3, r0, 0 - movs r0, 0xC0 - lsls r0, 3 - adds r2, r0, 0 - ldrh r0, [r3, 0x30] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080C3CF8 - ldr r0, _080C3CFC @ =SpriteCallbackDummy - str r0, [r3, 0x1C] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080C3D00 @ =gSharedMem + 0x18000 - movs r0, 0x2 - strb r0, [r1, 0x6] -_080C3CF8: - pop {r0} - bx r0 - .align 2, 0 -_080C3CFC: .4byte SpriteCallbackDummy -_080C3D00: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3CB8 - - thumb_func_start sub_80C3D04 -sub_80C3D04: @ 80C3D04 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080C3DD8 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080C3DBE - movs r0, 0 - strh r0, [r1, 0x8] - ldr r0, _080C3DDC @ =gSharedMem + 0x18000 - mov r8, r0 - ldrb r0, [r0, 0x7] - cmp r0, 0x27 - bhi _080C3DBE - ldr r4, _080C3DE0 @ =gSpriteTemplate_83D17B4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r1, r0, 0 - subs r1, 0x14 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0x2C - movs r3, 0x5 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - ldr r1, _080C3DE4 @ =gSprites - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - adds r5, r1 - lsls r0, 23 - lsrs r0, 23 - strh r0, [r5, 0x2E] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x18 - bl __umodsi3 - adds r0, 0x10 - strh r0, [r5, 0x30] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xFF - ands r0, r1 - adds r0, 0x30 - strh r0, [r5, 0x32] - bl Random - ldrh r6, [r5, 0x4] - lsls r4, r6, 22 - lsrs r4, 22 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - adds r4, r0 - ldr r1, _080C3DE8 @ =0x000003ff - adds r0, r1, 0 - ands r4, r0 - ldr r0, _080C3DEC @ =0xfffffc00 - ands r0, r6 - orrs r0, r4 - strh r0, [r5, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x7] - adds r0, 0x1 - strb r0, [r1, 0x7] -_080C3DBE: - ldr r0, _080C3DDC @ =gSharedMem + 0x18000 - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _080C3DCC - adds r0, r7, 0 - bl DestroyTask -_080C3DCC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3DD8: .4byte gTasks -_080C3DDC: .4byte gSharedMem + 0x18000 -_080C3DE0: .4byte gSpriteTemplate_83D17B4 -_080C3DE4: .4byte gSprites -_080C3DE8: .4byte 0x000003ff -_080C3DEC: .4byte 0xfffffc00 - thumb_func_end sub_80C3D04 - - thumb_func_start sub_80C3DF0 -sub_80C3DF0: @ 80C3DF0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x32] - ldrh r0, [r4, 0x36] - adds r1, r0 - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x36] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - ldr r5, _080C3E5C @ =gSharedMem + 0x18000 - ldrb r0, [r5, 0x9] - cmp r0, 0 - beq _080C3E3A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080C3E3A: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0xF8 - bgt _080C3E4A - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x74 - ble _080C3E56 -_080C3E4A: - adds r0, r4, 0 - bl DestroySprite - ldrb r0, [r5, 0x7] - subs r0, 0x1 - strb r0, [r5, 0x7] -_080C3E56: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3E5C: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C3DF0 - - thumb_func_start sub_80C3E60 -sub_80C3E60: @ 80C3E60 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080C3E98 @ =sub_80C3EA4 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C3E9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - ldr r0, _080C3EA0 @ =gContestMons - lsls r4, 6 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3E98: .4byte sub_80C3EA4 -_080C3E9C: .4byte gTasks -_080C3EA0: .4byte gContestMons - thumb_func_end sub_80C3E60 - - thumb_func_start sub_80C3EA4 -sub_80C3EA4: @ 80C3EA4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C3EF8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrb r5, [r4, 0x8] - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080C3EEE - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xC] - ldrb r2, [r4, 0x1E] - ldr r1, _080C3EFC @ =gContestMons - lsls r3, r5, 6 - adds r1, 0x38 - adds r3, r1 - ldr r1, [r3] - str r1, [sp] - adds r1, r5, 0 - movs r3, 0 - bl sub_80C3024 - ldrh r0, [r4, 0x1E] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x1E] -_080C3EEE: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3EF8: .4byte gTasks -_080C3EFC: .4byte gContestMons - thumb_func_end sub_80C3EA4 - - thumb_func_start sub_80C3F00 -sub_80C3F00: @ 80C3F00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080C4098 @ =gUnknown_02038678 - ldrh r2, [r0] - adds r4, r0, 0 - adds r3, r4, 0x2 - movs r0, 0x2 - mov r8, r0 -_080C3F16: - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0 - ldrsh r1, [r3, r5] - cmp r0, r1 - bge _080C3F24 - ldrh r2, [r3] -_080C3F24: - adds r3, 0x2 - movs r0, 0x1 - negs r0, r0 - add r8, r0 - mov r1, r8 - cmp r1, 0 - bge _080C3F16 - lsls r0, r2, 16 - mov r9, r0 - cmp r0, 0 - bge _080C3F62 - ldrh r2, [r4] - adds r3, r4, 0x2 - movs r4, 0x2 - mov r8, r4 -_080C3F42: - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0 - ldrsh r1, [r3, r5] - cmp r0, r1 - ble _080C3F50 - ldrh r2, [r3] -_080C3F50: - adds r3, 0x2 - movs r0, 0x1 - negs r0, r0 - add r8, r0 - lsls r1, r2, 16 - mov r9, r1 - mov r4, r8 - cmp r4, 0 - bge _080C3F42 -_080C3F62: - movs r5, 0 - mov r8, r5 - mov r10, r5 -_080C3F68: - ldr r0, _080C409C @ =gUnknown_02038670 - mov r1, r8 - lsls r7, r1, 1 - adds r0, r7, r0 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - mov r4, r9 - asrs r6, r4, 16 - adds r1, r6, 0 - cmp r6, 0 - bge _080C3F8A - negs r1, r6 -_080C3F8A: - bl __divsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __modsi3 - cmp r0, 0x4 - ble _080C3F9C - adds r4, 0xA -_080C3F9C: - ldr r0, _080C40A0 @ =gSharedMem + 0x18018 - mov r1, r10 - adds r5, r1, r0 - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - str r0, [r5] - ldr r0, _080C40A4 @ =gUnknown_02038688 - adds r7, r0 - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r1, 0 - bge _080C3FBA - negs r1, r1 -_080C3FBA: - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r6, 0 - cmp r1, 0 - bge _080C3FCC - negs r1, r1 -_080C3FCC: - bl __divsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __modsi3 - cmp r0, 0x4 - ble _080C3FDE - adds r4, 0xA -_080C3FDE: - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - str r0, [r5, 0x4] - movs r4, 0 - ldrsh r0, [r7, r4] - cmp r0, 0 - bge _080C3FF4 - movs r0, 0x1 - strb r0, [r5, 0x10] -_080C3FF4: - ldr r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - subs r0, r1 - lsls r0, 11 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - movs r4, 0xFF - ands r0, r4 - cmp r0, 0x7F - bls _080C4016 - movs r0, 0x80 - lsls r0, 1 - adds r1, r0 -_080C4016: - lsrs r0, r1, 8 - str r0, [r5, 0x8] - ldr r1, [r5, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - subs r0, r1 - lsls r0, 11 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - ands r0, r4 - cmp r0, 0x7F - bls _080C403A - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 -_080C403A: - lsrs r0, r1, 8 - str r0, [r5, 0xC] - mov r0, r8 - lsls r4, r0, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80C3990 - strb r0, [r5, 0x11] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80C39E4 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080C4060 - negs r0, r0 -_080C4060: - strb r0, [r5, 0x12] - ldr r0, _080C40A8 @ =gContestFinalStandings - add r0, r8 - ldrb r0, [r0] - cmp r0, 0 - beq _080C40B4 - ldr r4, [r5, 0x8] - ldrh r2, [r5, 0x8] - ldr r3, [r5, 0xC] - ldrh r1, [r5, 0xC] - ldrb r0, [r5, 0x10] - cmp r0, 0 - beq _080C4080 - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 -_080C4080: - lsls r0, r2, 16 - asrs r2, r0, 16 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r0, r2, r1 - cmp r0, 0x58 - bne _080C40B4 - cmp r1, 0 - ble _080C40AC - subs r0, r3, 0x1 - str r0, [r5, 0xC] - b _080C40B4 - .align 2, 0 -_080C4098: .4byte gUnknown_02038678 -_080C409C: .4byte gUnknown_02038670 -_080C40A0: .4byte gSharedMem + 0x18018 -_080C40A4: .4byte gUnknown_02038688 -_080C40A8: .4byte gContestFinalStandings -_080C40AC: - cmp r2, 0 - ble _080C40B4 - subs r0, r4, 0x1 - str r0, [r5, 0x8] -_080C40B4: - movs r1, 0x14 - add r10, r1 - movs r2, 0x1 - add r8, r2 - mov r4, r8 - cmp r4, 0x3 - bgt _080C40C4 - b _080C3F68 -_080C40C4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C3F00 - - thumb_func_start sub_80C40D4 -sub_80C40D4: @ 80C40D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - movs r1, 0 - mov r10, r1 - movs r2, 0 - str r2, [sp] - cmp r0, 0 - bne _080C4198 - mov r8, r2 - ldr r0, _080C417C @ =gSharedMem + 0x18018 - subs r1, 0x18 - adds r1, r0 - mov r9, r1 - adds r4, r0, 0 - adds r4, 0x8 - movs r6, 0xA0 -_080C4102: - ldrb r0, [r4, 0x9] - cmp r7, r0 - bcs _080C416A - adds r0, 0x13 - adds r0, r6, r0 - subs r0, r7 - lsls r0, 1 - ldr r2, _080C4180 @ =0x0600bffe - adds r0, r2 - ldr r2, _080C4184 @ =0x000060b3 - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _080C4188 @ =sub_80C42C0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r4] - lsls r0, 16 - ldrb r1, [r4, 0x9] - bl __udivsi3 - adds r1, r7, 0x1 - adds r3, r0, 0 - muls r3, r1 - ldr r0, _080C418C @ =0x0000ffff - ands r0, r3 - ldr r1, _080C4190 @ =0x00007fff - cmp r0, r1 - bls _080C4146 - movs r0, 0x80 - lsls r0, 9 - adds r3, r0 -_080C4146: - ldr r1, _080C4194 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x8] - lsrs r1, r3, 16 - strh r1, [r0, 0xA] - mov r2, r9 - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_080C416A: - adds r4, 0x14 - adds r6, 0x60 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x3 - ble _080C4102 - b _080C4292 - .align 2, 0 -_080C417C: .4byte gSharedMem + 0x18018 -_080C4180: .4byte 0x0600bffe -_080C4184: .4byte 0x000060b3 -_080C4188: .4byte sub_80C42C0 -_080C418C: .4byte 0x0000ffff -_080C4190: .4byte 0x00007fff -_080C4194: .4byte gTasks -_080C4198: - movs r2, 0 - mov r8, r2 - ldr r0, _080C4220 @ =gSharedMem + 0x18018 - mov r12, r0 - mov r9, r2 - movs r1, 0xC0 - str r1, [sp, 0x4] -_080C41A6: - mov r6, r9 - add r6, r12 - ldrb r1, [r6, 0x12] - ldrb r0, [r6, 0x10] - ldr r2, _080C4224 @ =0x000060a3 - cmp r0, 0 - beq _080C41B6 - adds r2, 0x2 -_080C41B6: - lsls r0, r1, 24 - asrs r0, 24 - cmp r7, r0 - bge _080C427E - adds r0, 0x13 - ldr r1, [sp, 0x4] - adds r0, r1, r0 - subs r0, r7 - lsls r0, 1 - ldr r1, _080C4228 @ =0x0600bffe - adds r0, r1 - strh r2, [r0] - ldr r0, _080C422C @ =sub_80C42C0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r6, 0xC] - lsls r0, 16 - ldrb r1, [r6, 0x12] - bl __udivsi3 - adds r1, r7, 0x1 - adds r3, r0, 0 - muls r3, r1 - ldr r0, _080C4230 @ =0x0000ffff - ands r0, r3 - ldr r1, _080C4234 @ =0x00007fff - cmp r0, r1 - bls _080C41FA - movs r2, 0x80 - lsls r2, 9 - adds r3, r2 -_080C41FA: - ldr r1, _080C4238 @ =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r1 - mov r0, r8 - strh r0, [r4, 0x8] - ldrb r0, [r6, 0x10] - adds r6, r1, 0 - cmp r0, 0 - beq _080C423C - movs r0, 0x1 - strh r0, [r4, 0xC] - ldr r0, [sp] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - b _080C4246 - .align 2, 0 -_080C4220: .4byte gSharedMem + 0x18018 -_080C4224: .4byte 0x000060a3 -_080C4228: .4byte 0x0600bffe -_080C422C: .4byte sub_80C42C0 -_080C4230: .4byte 0x0000ffff -_080C4234: .4byte 0x00007fff -_080C4238: .4byte gTasks -_080C423C: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_080C4246: - ldr r0, _080C4264 @ =gSharedMem + 0x18018 - mov r1, r9 - adds r4, r1, r0 - ldrb r1, [r4, 0x10] - mov r12, r0 - cmp r1, 0 - beq _080C4268 - adds r0, r2, r5 - lsls r0, 3 - adds r0, r6 - lsrs r2, r3, 16 - ldr r1, [r4, 0x8] - subs r1, r2 - b _080C4274 - .align 2, 0 -_080C4264: .4byte gSharedMem + 0x18018 -_080C4268: - adds r0, r2, r5 - lsls r0, 3 - adds r0, r6 - lsrs r2, r3, 16 - ldr r1, [r4, 0x8] - adds r1, r2 -_080C4274: - strh r1, [r0, 0xA] - ldr r1, _080C42BC @ =gSharedMem + 0x18000 - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] -_080C427E: - movs r2, 0x14 - add r9, r2 - ldr r0, [sp, 0x4] - adds r0, 0x60 - str r0, [sp, 0x4] - movs r1, 0x1 - add r8, r1 - mov r2, r8 - cmp r2, 0x3 - ble _080C41A6 -_080C4292: - ldr r0, [sp] - cmp r0, 0 - beq _080C429E - movs r0, 0x16 - bl PlaySE -_080C429E: - mov r1, r10 - cmp r1, 0 - beq _080C42AA - movs r0, 0x15 - bl PlaySE -_080C42AA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C42BC: .4byte gSharedMem + 0x18000 - thumb_func_end sub_80C40D4 - - thumb_func_start sub_80C42C0 -sub_80C42C0: @ 80C42C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r6, 0 - mov r9, r6 - ldr r1, _080C4308 @ =gTasks - lsls r0, 2 - add r0, r12 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x8] - ldrh r7, [r0, 0xA] - ldrh r1, [r0, 0xC] - mov r8, r1 - movs r2, 0xC - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _080C4310 - ldr r1, _080C430C @ =gSharedMem + 0x18000 - lsls r2, r5, 1 - adds r0, r1, 0 - adds r0, 0xC - adds r0, r2, r0 - movs r3, 0 - ldrsh r0, [r0, r3] - mov r10, r1 - adds r4, r2, 0 - cmp r0, 0 - bgt _080C4328 - b _080C4326 - .align 2, 0 -_080C4308: .4byte gTasks -_080C430C: .4byte gSharedMem + 0x18000 -_080C4310: - ldr r1, _080C4350 @ =gSharedMem + 0x18000 - lsls r2, r5, 1 - adds r0, r1, 0 - adds r0, 0xC - adds r0, r2, r0 - movs r3, 0 - ldrsh r0, [r0, r3] - mov r10, r1 - adds r4, r2, 0 - cmp r0, 0x57 - ble _080C4328 -_080C4326: - movs r6, 0x1 -_080C4328: - mov r0, r10 - adds r0, 0xC - adds r3, r4, r0 - ldrh r2, [r3] - movs r0, 0 - ldrsh r1, [r3, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _080C4340 - movs r1, 0x1 - mov r9, r1 -_080C4340: - mov r0, r9 - cmp r0, 0 - bne _080C4362 - cmp r6, 0 - beq _080C4354 - strh r7, [r3] - b _080C4362 - .align 2, 0 -_080C4350: .4byte gSharedMem + 0x18000 -_080C4354: - mov r1, r8 - cmp r1, 0 - beq _080C435E - subs r0, r2, 0x1 - b _080C4360 -_080C435E: - adds r0, r2, 0x1 -_080C4360: - strh r0, [r3] -_080C4362: - cmp r6, 0 - bne _080C43C8 - mov r2, r9 - cmp r2, 0 - bne _080C43CE - movs r2, 0 - ldr r0, _080C4388 @ =gSharedMem + 0x1800C - adds r6, r4, r0 - adds r0, r4, r5 - lsls r5, r0, 5 -_080C4376: - movs r0, 0 - ldrsh r3, [r6, r0] - adds r0, r2, 0x1 - lsls r1, r0, 3 - adds r4, r0, 0 - cmp r3, r1 - blt _080C438C - movs r0, 0x8 - b _080C43A8 - .align 2, 0 -_080C4388: .4byte gSharedMem + 0x1800C -_080C438C: - lsls r0, r2, 3 - cmp r3, r0 - blt _080C43A6 - adds r0, r3, 0 - cmp r3, 0 - bge _080C439A - adds r0, r3, 0x7 -_080C439A: - asrs r0, 3 - lsls r0, 3 - subs r0, r3, r0 - lsls r0, 24 - lsrs r0, 24 - b _080C43A8 -_080C43A6: - movs r0, 0 -_080C43A8: - cmp r0, 0x3 - bhi _080C43B4 - ldr r3, _080C43B0 @ =0x0000504c - b _080C43B6 - .align 2, 0 -_080C43B0: .4byte 0x0000504c -_080C43B4: - ldr r3, _080C43EC @ =0x00005057 -_080C43B6: - adds r1, r0, r3 - adds r0, r5, r2 - lsls r0, 1 - ldr r2, _080C43F0 @ =0x0600e18e - adds r0, r2 - strh r1, [r0] - adds r2, r4, 0 - cmp r2, 0xA - ble _080C4376 -_080C43C8: - mov r3, r9 - cmp r3, 0 - beq _080C43DC -_080C43CE: - mov r1, r10 - ldrb r0, [r1, 0x14] - subs r0, 0x1 - strb r0, [r1, 0x14] - mov r0, r12 - bl DestroyTask -_080C43DC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C43EC: .4byte 0x00005057 -_080C43F0: .4byte 0x0600e18e - thumb_func_end sub_80C42C0 - - thumb_func_start sub_80C43F4 -sub_80C43F4: @ 80C43F4 - push {r4,r5,lr} - ldr r0, _080C442C @ =gUnknown_02038694 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080C4430 @ =gPlayerParty - adds r0, r1 - bl sub_80AE47C - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r5, 0 - beq _080C4422 - ldr r4, _080C4434 @ =gSpecialVar_ContestCategory - ldrb r0, [r4] - ldr r1, _080C4438 @ =gSpecialVar_ContestRank - ldrb r1, [r1] - bl Contest_InitAllPokemon - ldrb r0, [r4] - bl sub_80AE82C -_080C4422: - ldr r0, _080C443C @ =gSpecialVar_Result - strh r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C442C: .4byte gUnknown_02038694 -_080C4430: .4byte gPlayerParty -_080C4434: .4byte gSpecialVar_ContestCategory -_080C4438: .4byte gSpecialVar_ContestRank -_080C443C: .4byte gSpecialVar_Result - thumb_func_end sub_80C43F4 - - thumb_func_start sub_80C4440 -sub_80C4440: @ 80C4440 - push {r4,lr} - movs r4, 0 - ldr r0, _080C4464 @ =gUnknown_02038694 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080C4468 @ =gPlayerParty - adds r2, r1, r0 - ldr r0, _080C446C @ =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080C44B2 - lsls r0, 2 - ldr r1, _080C4470 @ =_080C4474 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C4464: .4byte gUnknown_02038694 -_080C4468: .4byte gPlayerParty -_080C446C: .4byte gSpecialVar_ContestCategory -_080C4470: .4byte _080C4474 - .align 2, 0 -_080C4474: - .4byte _080C4488 - .4byte _080C448E - .4byte _080C4494 - .4byte _080C449A - .4byte _080C44A0 -_080C4488: - adds r0, r2, 0 - movs r1, 0x32 - b _080C44A4 -_080C448E: - adds r0, r2, 0 - movs r1, 0x33 - b _080C44A4 -_080C4494: - adds r0, r2, 0 - movs r1, 0x34 - b _080C44A4 -_080C449A: - adds r0, r2, 0 - movs r1, 0x35 - b _080C44A4 -_080C44A0: - adds r0, r2, 0 - movs r1, 0x36 -_080C44A4: - bl GetMonData - ldr r1, _080C44BC @ =gSpecialVar_ContestRank - ldrh r1, [r1] - cmp r0, r1 - bls _080C44B2 - movs r4, 0x1 -_080C44B2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C44BC: .4byte gSpecialVar_ContestRank - thumb_func_end sub_80C4440 - - thumb_func_start sub_80C44C0 -sub_80C44C0: @ 80C44C0 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _080C44E8 @ =gContestFinalStandings - ldr r0, _080C44EC @ =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C44D4 - b _080C465E -_080C44D4: - ldr r0, _080C44F0 @ =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bls _080C44DE - b _080C465E -_080C44DE: - lsls r0, 2 - ldr r1, _080C44F4 @ =_080C44F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C44E8: .4byte gContestFinalStandings -_080C44EC: .4byte gContestPlayerMonIndex -_080C44F0: .4byte gSpecialVar_ContestCategory -_080C44F4: .4byte _080C44F8 - .align 2, 0 -_080C44F8: - .4byte _080C450C - .4byte _080C4554 - .4byte _080C4598 - .4byte _080C45DC - .4byte _080C4624 -_080C450C: - ldr r6, _080C4548 @ =gUnknown_02038694 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080C454C @ =gPlayerParty - adds r0, r4 - movs r1, 0x32 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - mov r0, sp - strb r1, [r0] - ldr r0, _080C4550 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r1, r0 - bls _080C4530 - b _080C465E -_080C4530: - adds r0, r1, 0 - cmp r0, 0x3 - bls _080C4538 - b _080C465E -_080C4538: - adds r1, r0, 0x1 - mov r0, sp - strb r1, [r0] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x32 - b _080C4610 - .align 2, 0 -_080C4548: .4byte gUnknown_02038694 -_080C454C: .4byte gPlayerParty -_080C4550: .4byte gSpecialVar_ContestRank -_080C4554: - mov r4, sp - ldr r7, _080C458C @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C4590 @ =gPlayerParty - adds r0, r5 - movs r1, 0x33 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4594 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x33 - b _080C4610 - .align 2, 0 -_080C458C: .4byte gUnknown_02038694 -_080C4590: .4byte gPlayerParty -_080C4594: .4byte gSpecialVar_ContestRank -_080C4598: - mov r4, sp - ldr r7, _080C45D0 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C45D4 @ =gPlayerParty - adds r0, r5 - movs r1, 0x34 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C45D8 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x34 - b _080C4610 - .align 2, 0 -_080C45D0: .4byte gUnknown_02038694 -_080C45D4: .4byte gPlayerParty -_080C45D8: .4byte gSpecialVar_ContestRank -_080C45DC: - mov r4, sp - ldr r7, _080C4618 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C461C @ =gPlayerParty - adds r0, r5 - movs r1, 0x35 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4620 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x35 -_080C4610: - mov r2, sp - bl SetMonData - b _080C465E - .align 2, 0 -_080C4618: .4byte gUnknown_02038694 -_080C461C: .4byte gPlayerParty -_080C4620: .4byte gSpecialVar_ContestRank -_080C4624: - mov r4, sp - ldr r7, _080C4668 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C466C @ =gPlayerParty - adds r0, r5 - movs r1, 0x36 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4670 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x36 - mov r2, sp - bl SetMonData -_080C465E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4668: .4byte gUnknown_02038694 -_080C466C: .4byte gPlayerParty -_080C4670: .4byte gSpecialVar_ContestRank - thumb_func_end sub_80C44C0 - - thumb_func_start sub_80C4674 -sub_80C4674: @ 80C4674 - push {r4,lr} - adds r4, r0, 0 - bl StringCopy - ldrb r0, [r4] - cmp r0, 0xFC - bne _080C4690 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _080C4690 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_080C4690: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C4674 - - thumb_func_start sub_80C4698 -sub_80C4698: @ 80C4698 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r1, r4, 6 - ldr r0, _080C46E0 @ =gContestMons + 0x2 - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _080C46E4 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C46DA - ldr r0, _080C46E8 @ =gLinkPlayers - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x1A] - cmp r0, 0x1 - bne _080C46DA - adds r0, r5, 0 - bl sub_80C86A0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ConvertInternationalString -_080C46DA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C46E0: .4byte gContestMons + 0x2 -_080C46E4: .4byte gIsLinkContest -_080C46E8: .4byte gLinkPlayers - thumb_func_end sub_80C4698 - - thumb_func_start sub_80C46EC -sub_80C46EC: @ 80C46EC - push {lr} - ldr r0, _080C4710 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C4720 - ldr r0, _080C4714 @ =gStringVar1 - ldr r1, _080C4718 @ =gSpecialVar_0x8006 - ldrh r2, [r1] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r2, _080C471C @ =gLinkPlayers + 0x8 - adds r1, r2 - bl sub_80C4674 - b _080C4730 - .align 2, 0 -_080C4710: .4byte gIsLinkContest -_080C4714: .4byte gStringVar1 -_080C4718: .4byte gSpecialVar_0x8006 -_080C471C: .4byte gLinkPlayers + 0x8 -_080C4720: - ldr r0, _080C4734 @ =gStringVar1 - ldr r1, _080C4738 @ =gSpecialVar_0x8006 - ldrh r1, [r1] - lsls r1, 6 - ldr r2, _080C473C @ =gUnknown_0203857D - adds r1, r2 - bl sub_80C4674 -_080C4730: - pop {r0} - bx r0 - .align 2, 0 -_080C4734: .4byte gStringVar1 -_080C4738: .4byte gSpecialVar_0x8006 -_080C473C: .4byte gUnknown_0203857D - thumb_func_end sub_80C46EC - - thumb_func_start sub_80C4740 -sub_80C4740: @ 80C4740 - push {lr} - ldr r0, _080C4750 @ =gStringVar3 - ldr r1, _080C4754 @ =gSpecialVar_0x8006 - ldrb r1, [r1] - bl sub_80C4698 - pop {r0} - bx r0 - .align 2, 0 -_080C4750: .4byte gStringVar3 -_080C4754: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C4740 - - thumb_func_start sub_80C4758 -sub_80C4758: @ 80C4758 - push {r4-r6,lr} - movs r1, 0 - movs r2, 0 - ldr r5, _080C4794 @ =gSpecialVar_0x8004 - ldr r4, _080C4798 @ =gUnknown_02038670 - ldr r0, _080C479C @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r4 - movs r6, 0 - ldrsh r3, [r0, r6] -_080C476E: - lsls r0, r1, 1 - adds r0, r4 - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r3, r0 - bge _080C4780 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080C4780: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080C476E - strh r2, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4794: .4byte gSpecialVar_0x8004 -_080C4798: .4byte gUnknown_02038670 -_080C479C: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C4758 - - thumb_func_start sub_80C47A0 -sub_80C47A0: @ 80C47A0 - ldr r2, _080C47B4 @ =gSpecialVar_0x8004 - ldr r1, _080C47B8 @ =gUnknown_02038670 - ldr r0, _080C47BC @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_080C47B4: .4byte gSpecialVar_0x8004 -_080C47B8: .4byte gUnknown_02038670 -_080C47BC: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C47A0 - - thumb_func_start sub_80C47C0 -sub_80C47C0: @ 80C47C0 - push {lr} - movs r1, 0 - ldr r2, _080C47E8 @ =gContestFinalStandings - ldrb r0, [r2] - ldr r3, _080C47EC @ =gSpecialVar_0x8005 - cmp r0, 0 - beq _080C47E0 -_080C47CE: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080C47E0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080C47CE -_080C47E0: - strh r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_080C47E8: .4byte gContestFinalStandings -_080C47EC: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80C47C0 - - thumb_func_start sub_80C47F0 -sub_80C47F0: @ 80C47F0 - push {r4,lr} - movs r2, 0 - ldr r3, _080C4830 @ =gContestFinalStandings - ldrb r0, [r3] - ldr r1, _080C4834 @ =gIsLinkContest - ldr r4, _080C4838 @ =gStringVar3 - cmp r0, 0 - beq _080C4812 -_080C4800: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _080C4812 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080C4800 -_080C4812: - ldrb r1, [r1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C4840 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _080C483C @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r4, 0 - bl sub_80C4674 - b _080C484C - .align 2, 0 -_080C4830: .4byte gContestFinalStandings -_080C4834: .4byte gIsLinkContest -_080C4838: .4byte gStringVar3 -_080C483C: .4byte gLinkPlayers + 0x8 -_080C4840: - lsls r1, r2, 6 - ldr r0, _080C4854 @ =gUnknown_0203857D - adds r1, r0 - adds r0, r4, 0 - bl sub_80C4674 -_080C484C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4854: .4byte gUnknown_0203857D - thumb_func_end sub_80C47F0 - - thumb_func_start sub_80C4858 -sub_80C4858: @ 80C4858 - push {lr} - movs r1, 0 - ldr r2, _080C4884 @ =gContestFinalStandings - ldrb r0, [r2] - ldr r3, _080C4888 @ =gStringVar1 - cmp r0, 0 - beq _080C4878 -_080C4866: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080C4878 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080C4866 -_080C4878: - adds r0, r3, 0 - bl sub_80C4698 - pop {r0} - bx r0 - .align 2, 0 -_080C4884: .4byte gContestFinalStandings -_080C4888: .4byte gStringVar1 - thumb_func_end sub_80C4858 - - thumb_func_start sub_80C488C -sub_80C488C: @ 80C488C - push {lr} - ldr r0, _080C4898 @ =CB2_StartContest - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C4898: .4byte CB2_StartContest - thumb_func_end sub_80C488C - - thumb_func_start sub_80C489C -sub_80C489C: @ 80C489C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080C48C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C48BA - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080C48C4 @ =sub_80C488C - bl SetMainCallback2 -_080C48BA: - pop {r0} - bx r0 - .align 2, 0 -_080C48C0: .4byte gPaletteFade -_080C48C4: .4byte sub_80C488C - thumb_func_end sub_80C489C - - thumb_func_start sub_80C48C8 -sub_80C48C8: @ 80C48C8 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080C48F0 @ =sub_80C489C - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C48F0: .4byte sub_80C489C - thumb_func_end sub_80C48C8 - - thumb_func_start sub_80C48F4 -sub_80C48F4: @ 80C48F4 - ldr r2, _080C4908 @ =gSpecialVar_0x8004 - ldr r1, _080C490C @ =gContestMons - ldr r0, _080C4910 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 6 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_080C4908: .4byte gSpecialVar_0x8004 -_080C490C: .4byte gContestMons -_080C4910: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C48F4 - - thumb_func_start sub_80C4914 -sub_80C4914: @ 80C4914 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080C4938 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C4932 - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080C493C @ =sub_80C2358 - bl SetMainCallback2 -_080C4932: - pop {r0} - bx r0 - .align 2, 0 -_080C4938: .4byte gPaletteFade -_080C493C: .4byte sub_80C2358 - thumb_func_end sub_80C4914 - - thumb_func_start sub_80C4940 -sub_80C4940: @ 80C4940 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080C4968 @ =sub_80C4914 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C4968: .4byte sub_80C4914 - thumb_func_end sub_80C4940 - - thumb_func_start sub_80C496C -sub_80C496C: @ 80C496C - ldr r0, _080C4978 @ =gSpecialVar_0x8004 - ldr r1, _080C497C @ =gContestPlayerMonIndex - ldrb r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_080C4978: .4byte gSpecialVar_0x8004 -_080C497C: .4byte gContestPlayerMonIndex - thumb_func_end sub_80C496C - - thumb_func_start sub_80C4980 -sub_80C4980: @ 80C4980 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl ScriptContext2_Enable - ldr r6, _080C49B8 @ =sub_80C8604 - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080C49BC @ =sub_80C49C4 - adds r0, r4, 0 - adds r1, r6, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _080C49C0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1A] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C49B8: .4byte sub_80C8604 -_080C49BC: .4byte sub_80C49C4 -_080C49C0: .4byte gTasks - thumb_func_end sub_80C4980 - - thumb_func_start sub_80C49C4 -sub_80C49C4: @ 80C49C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080C49E4 @ =gUnknown_02038694 - ldrb r0, [r0] - bl Contest_CreatePlayerMon - ldr r1, _080C49E8 @ =sub_80C8734 - ldr r2, _080C49EC @ =sub_80C49F0 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C49E4: .4byte gUnknown_02038694 -_080C49E8: .4byte sub_80C8734 -_080C49EC: .4byte sub_80C49F0 - thumb_func_end sub_80C49C4 - - thumb_func_start sub_80C49F0 -sub_80C49F0: @ 80C49F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A04 @ =sub_80C88AC - ldr r2, _080C4A08 @ =sub_80C4A0C - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A04: .4byte sub_80C88AC -_080C4A08: .4byte sub_80C4A0C - thumb_func_end sub_80C49F0 - - thumb_func_start sub_80C4A0C -sub_80C4A0C: @ 80C4A0C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A20 @ =sub_80C8E1C - ldr r2, _080C4A24 @ =sub_80C4A28 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A20: .4byte sub_80C8E1C -_080C4A24: .4byte sub_80C4A28 - thumb_func_end sub_80C4A0C - - thumb_func_start sub_80C4A28 -sub_80C4A28: @ 80C4A28 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A3C @ =sub_80C8938 - ldr r2, _080C4A40 @ =sub_80C4A44 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A3C: .4byte sub_80C8938 -_080C4A40: .4byte sub_80C4A44 - thumb_func_end sub_80C4A28 - - thumb_func_start sub_80C4A44 -sub_80C4A44: @ 80C4A44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r0, _080C4AA0 @ =gSpecialVar_0x8004 - mov r8, r0 - add r1, sp, 0x4 - mov r12, r1 - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r4, r0, 3 - ldr r6, _080C4AA4 @ =gTasks + 0x8 - adds r7, r1, 0 -_080C4A64: - mov r0, sp - adds r2, r0, r3 - adds r1, r3, 0x1 - lsls r0, r1, 1 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - cmp r3, 0x3 - bls _080C4A64 - movs r3, 0 - mov r2, sp -_080C4A80: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bhi _080C4A96 - mov r0, sp - adds r1, r0, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - beq _080C4A80 -_080C4A96: - cmp r3, 0x4 - bne _080C4AA8 - movs r0, 0 - b _080C4AAA - .align 2, 0 -_080C4AA0: .4byte gSpecialVar_0x8004 -_080C4AA4: .4byte gTasks + 0x8 -_080C4AA8: - movs r0, 0x1 -_080C4AAA: - mov r1, r8 - strh r0, [r1] - movs r3, 0 - mov r4, r12 - adds r0, r7, r5 - lsls r2, r0, 3 - ldr r6, _080C4AF8 @ =gTasks + 0x8 -_080C4AB8: - adds r1, r4, r3 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r2 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080C4AB8 - mov r0, r12 - bl sub_80C4B34 - ldr r1, _080C4AFC @ =gUnknown_0203869B - strb r0, [r1] - ldr r0, _080C4B00 @ =gSpecialVar_ContestCategory - ldrb r0, [r0] - bl sub_80AE82C - ldr r1, _080C4B04 @ =sub_80C8EBC - ldr r2, _080C4B08 @ =sub_80C4B0C - adds r0, r5, 0 - bl SetTaskFuncWithFollowupFunc - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4AF8: .4byte gTasks + 0x8 -_080C4AFC: .4byte gUnknown_0203869B -_080C4B00: .4byte gSpecialVar_ContestCategory -_080C4B04: .4byte sub_80C8EBC -_080C4B08: .4byte sub_80C4B0C - thumb_func_end sub_80C4A44 - - thumb_func_start sub_80C4B0C -sub_80C4B0C: @ 80C4B0C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80B0F28 - ldr r1, _080C4B2C @ =sub_80C8F34 - ldr r2, _080C4B30 @ =sub_80C4B5C - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4B2C: .4byte sub_80C8F34 -_080C4B30: .4byte sub_80C4B5C - thumb_func_end sub_80C4B0C - - thumb_func_start sub_80C4B34 -sub_80C4B34: @ 80C4B34 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - movs r2, 0x1 -_080C4B3C: - adds r0, r3, r4 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080C4B4C - lsls r0, r2, 24 - lsrs r4, r0, 24 -_080C4B4C: - adds r2, 0x1 - cmp r2, 0x3 - ble _080C4B3C - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C4B34 - - thumb_func_start sub_80C4B5C -sub_80C4B5C: @ 80C4B5C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C4B84 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _080C4B90 - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C4B9E - ldr r0, _080C4B88 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C4B8C @ =sub_80C4BA4 - str r0, [r1] - b _080C4B9E - .align 2, 0 -_080C4B84: .4byte gSpecialVar_0x8004 -_080C4B88: .4byte gTasks -_080C4B8C: .4byte sub_80C4BA4 -_080C4B90: - adds r0, r4, 0 - bl DestroyTask - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_080C4B9E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C4B5C - - thumb_func_start sub_80C4BA4 -sub_80C4BA4: @ 80C4BA4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800832C - ldr r1, _080C4BC4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C4BC8 @ =sub_80C4BCC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4BC4: .4byte gTasks -_080C4BC8: .4byte sub_80C4BCC - thumb_func_end sub_80C4BA4 - - thumb_func_start sub_80C4BCC -sub_80C4BCC: @ 80C4BCC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080C4BEC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080C4BE8 - adds r0, r1, 0 - bl DestroyTask - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_080C4BE8: - pop {r0} - bx r0 - .align 2, 0 -_080C4BEC: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80C4BCC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm-de/contest_link_80C857C.s b/asm-de/contest_link_80C857C.s deleted file mode 100644 index e3a8b674d..000000000 --- a/asm-de/contest_link_80C857C.s +++ /dev/null @@ -1,1408 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C857C -sub_80C857C: @ 80C857C - push {r4,r5,lr} - adds r2, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - ldr r5, _080C85A8 @ =gSharedMem + 0x1E000 - adds r0, r5, 0 - adds r1, r2, 0 - adds r2, r4, 0 - bl memcpy - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl SendBlock - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C85A8: .4byte gSharedMem + 0x1E000 - thumb_func_end sub_80C857C - - thumb_func_start sub_80C85AC -sub_80C85AC: @ 80C85AC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 17 - lsls r1, r0 - lsrs r4, r1, 24 - bl GetBlockReceivedStatus - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - beq _080C85D0 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - movs r0, 0x1 - b _080C85D2 -_080C85D0: - movs r0, 0 -_080C85D2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C85AC - - thumb_func_start sub_80C85D8 -sub_80C85D8: @ 80C85D8 - push {r4,lr} - movs r4, 0 -_080C85DC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080C85F2 - movs r0, 0 - b _080C85FE -_080C85F2: - adds r4, 0x1 - cmp r4, 0x3 - ble _080C85DC - bl ResetBlockReceivedFlags - movs r0, 0x1 -_080C85FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C85D8 - - thumb_func_start sub_80C8604 -sub_80C8604: @ 80C8604 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C861C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - ldr r0, _080C8620 @ =sub_80C8644 - str r0, [r1] - bx lr - .align 2, 0 -_080C861C: .4byte gTasks -_080C8620: .4byte sub_80C8644 - thumb_func_end sub_80C8604 - - thumb_func_start sub_80C8644 -sub_80C8644: @ 80C8644 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C8658 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C865C @ =sub_80C8660 - str r0, [r1] - bx lr - .align 2, 0 -_080C8658: .4byte gTasks -_080C865C: .4byte sub_80C8660 - thumb_func_end sub_80C8644 - - thumb_func_start sub_80C8660 -sub_80C8660: @ 80C8660 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C8694 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080C868E - bl GetMultiplayerId - ldr r1, _080C8698 @ =gContestPlayerMonIndex - strb r0, [r1] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C868E - ldr r1, _080C869C @ =gIsLinkContest - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080C868E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C8694: .4byte gReceivedRemoteLinkPlayers -_080C8698: .4byte gContestPlayerMonIndex -_080C869C: .4byte gIsLinkContest - thumb_func_end sub_80C8660 - - thumb_func_start sub_80C86A0 -sub_80C86A0: @ 80C86A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0x5 - ldrb r0, [r4] - cmp r0, 0xFC - bne _080C86B6 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _080C86B6 - movs r0, 0x5 - b _080C872C -_080C86B6: - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _080C872A - ldrb r0, [r4] - cmp r0, 0xFF - beq _080C872A -_080C86CA: - ldrb r1, [r4] - adds r0, r1, 0 - adds r0, 0x45 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x33 - bls _080C871E - adds r0, r1, 0 - adds r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bls _080C871E - adds r0, r1, 0 - cmp r0, 0 - beq _080C871E - cmp r0, 0xAD - beq _080C871E - cmp r0, 0xB8 - beq _080C871E - cmp r0, 0xAB - beq _080C871E - cmp r0, 0xAC - beq _080C871E - cmp r0, 0xB5 - beq _080C871E - cmp r0, 0xB6 - beq _080C871E - cmp r0, 0xBA - beq _080C871E - cmp r0, 0xAE - beq _080C871E - cmp r0, 0xB0 - beq _080C871E - cmp r0, 0xB1 - beq _080C871E - cmp r0, 0xB2 - beq _080C871E - cmp r0, 0xB3 - beq _080C871E - cmp r0, 0xB1 - bne _080C8728 -_080C871E: - adds r4, 0x1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080C86CA - b _080C872A -_080C8728: - movs r5, 0x1 -_080C872A: - adds r0, r5, 0 -_080C872C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C86A0 - - thumb_func_start sub_80C8734 -sub_80C8734: @ 80C8734 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C8760 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0x1 - beq _080C8800 - cmp r0, 0x1 - bgt _080C8764 - cmp r0, 0 - beq _080C8770 - b _080C88E0 - .align 2, 0 -_080C8760: .4byte gTasks -_080C8764: - cmp r0, 0x2 - bne _080C876A - b _080C88D4_B -_080C876A: - cmp r0, 0x8 - beq _080C8770 - b _080C88E0 -_080C8770: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080C87D4 - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _080C8786 - b _080C88EE -_080C8786: - ldr r0, _080C87A0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080C87A4 - movs r0, 0x3 - strh r0, [r4, 0x8] - b _080C88EE - .align 2, 0 -_080C87A0: .4byte gTasks -_080C87A4: - ldr r0, _080C87C8 @ =gBlockSendBuffer - ldr r1, _080C87CC @ =gContestPlayerMonIndex - ldrb r1, [r1] - lsls r1, 6 - ldr r2, _080C87D0 @ =gContestMons - adds r1, r2 - movs r2, 0x40 - bl memcpy - movs r0, 0 - bl de_sub_80C9274 - movs r0, 0x2 - bl sub_8007E9C - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080C88EE - .align 2, 0 -_080C87C8: .4byte gBlockSendBuffer -_080C87CC: .4byte gContestPlayerMonIndex -_080C87D0: .4byte gContestMons -_080C87D4: - ldr r0, _080C87F0 @ =gBlockSendBuffer - ldr r1, _080C87F4 @ =gContestPlayerMonIndex - ldrb r1, [r1] - lsls r1, 6 - ldr r2, _080C87F8 @ =gContestMons - adds r1, r2 - movs r2, 0x40 - bl memcpy - movs r0, 0 - bl de_sub_80C9294 - ldr r1, _080C87FC @ =gTasks - b _080C88E0 - .align 2, 0 -_080C87F0: .4byte gBlockSendBuffer -_080C87F4: .4byte gContestPlayerMonIndex -_080C87F8: .4byte gContestMons -_080C87FC: .4byte gTasks -_080C8800: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C88EE - movs r2, 0 - mov r8, r2 - str r4, [sp] - ldr r0, _080C884C @ =gContestMons - ldr r7, _080C8850 @ =gLinkPlayers - movs r6, 0 - mov r10, r0 - movs r3, 0xFF - mov r9, r3 -_080C881C: - mov r0, r8 - lsls r1, r0, 8 - ldr r0, _080C8854 @ =gBlockRecvBuffer - adds r1, r0 - mov r0, r10 - movs r2, 0x40 - bl memcpy - ldr r1, _080C8858 @ =gContestMons + 0x2 - adds r4, r6, r1 - ldrh r0, [r7, 0x1A] - cmp r0, 0x1 - bne _080C885C - adds r0, r4, 0 - bl sub_80C86A0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ConvertInternationalString - b _080C8872 - .align 2, 0 -_080C884C: .4byte gContestMons -_080C8850: .4byte gLinkPlayers -_080C8854: .4byte gBlockRecvBuffer -_080C8858: .4byte gContestMons + 0x2 -_080C885C: - ldrb r0, [r4, 0xA] - cmp r0, 0xFC - bne _080C886C - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString - b _080C8872 -_080C886C: - strb r0, [r4, 0x5] - mov r2, r9 - strb r2, [r4, 0xA] -_080C8872: - ldr r0, _080C88A0 @ =gUnknown_0203857D - adds r4, r6, r0 - ldrh r0, [r7, 0x1A] - cmp r0, 0x1 - bne _080C88A4 - mov r3, r9 - strb r3, [r4, 0x7] - ldrb r0, [r4, 0x4] - strb r0, [r4, 0x6] - ldrb r0, [r4, 0x3] - strb r0, [r4, 0x5] - ldrb r0, [r4, 0x2] - strb r0, [r4, 0x4] - ldrb r0, [r4, 0x1] - strb r0, [r4, 0x3] - ldrb r0, [r4] - strb r0, [r4, 0x2] - movs r0, 0x15 - strb r0, [r4, 0x1] - movs r0, 0xFC - strb r0, [r4] - b _080C88AC - .align 2, 0 -_080C88A0: .4byte gUnknown_0203857D -_080C88A4: - ldrb r0, [r4, 0x7] - strb r0, [r4, 0x5] - mov r0, r9 - strb r0, [r4, 0x7] -_080C88AC: - adds r7, 0x1C - adds r6, 0x40 - movs r1, 0x40 - add r10, r1 - movs r2, 0x1 - add r8, r2 - mov r3, r8 - cmp r3, 0x3 - ble _080C881C - ldr r0, _080C88D0 @ =gTasks - ldr r2, [sp] - adds r1, r2, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C88EE - .align 2, 0 -_080C88D0: .4byte gTasks -_080C88D4_B: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080C88EE -_080C88E0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080C88EE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C8734 - - thumb_func_start sub_80C88AC -sub_80C88AC: @ 80C88AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C88D4 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080C88D8 - cmp r0, 0x1 - beq _080C88FC - movs r0, 0 - strh r0, [r5, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080C8924 - .align 2, 0 -_080C88D4: .4byte gTasks -_080C88D8: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080C891E - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8924 - ldr r0, _080C88F8 @ =gRngValue - movs r1, 0x4 - bl sub_80C857C - b _080C891E - .align 2, 0 -_080C88F8: .4byte gRngValue -_080C88FC: - movs r0, 0 - bl sub_80C85AC - lsls r0, 24 - cmp r0, 0 - beq _080C8924 - ldr r0, _080C892C @ =gRngValue - ldr r4, _080C8930 @ =gBlockRecvBuffer - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r0, _080C8934 @ =gUnknown_03005D28 - adds r1, r4, 0 - movs r2, 0x4 - bl memcpy -_080C891E: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080C8924: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C892C: .4byte gRngValue -_080C8930: .4byte gBlockRecvBuffer -_080C8934: .4byte gUnknown_03005D28 - thumb_func_end sub_80C88AC - - thumb_func_start sub_80C8938 -sub_80C8938: @ 80C8938 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080C8960 @ =gTasks - lsls r5, r4, 2 - adds r0, r5, r4 - lsls r6, r0, 3 - adds r2, r6, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - mov r8, r1 - cmp r0, 0x1 - beq _080C89C4 - cmp r0, 0x1 - bgt _080C8964 - cmp r0, 0 - beq _080C896C - b _080C8A0C - .align 2, 0 -_080C8960: .4byte gTasks -_080C8964: - cmp r0, 0x2 - beq _080C8A00 - cmp r0, 0x8 - bne _080C8A0C -_080C896C: - ldr r1, _080C89A0 @ =gBlockSendBuffer - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r2, r8 - adds r4, r0, r2 - ldrh r0, [r4, 0x1A] - strb r0, [r1] - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080C89B6 - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8A1A - movs r3, 0x8 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080C89A4 - movs r0, 0x3 - strh r0, [r4, 0x8] - b _080C8A1A - .align 2, 0 -_080C89A0: .4byte gBlockSendBuffer -_080C89A4: - movs r0, 0x1 - bl de_sub_80C9274 - movs r0, 0x2 - bl sub_8007E9C - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080C8A1A -_080C89B6: - movs r0, 0x1 - bl de_sub_80C9294 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C8A1A -_080C89C4: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8A1A - movs r3, 0 - adds r7, r5, 0 - ldr r1, _080C89FC @ =gBlockRecvBuffer - mov r0, r8 - adds r0, 0xA - adds r2, r6, r0 - movs r5, 0x80 - lsls r5, 1 -_080C89DE: - ldrh r0, [r1] - strh r0, [r2] - adds r1, r5 - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _080C89DE - adds r1, r7, r4 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C8A1A - .align 2, 0 -_080C89FC: .4byte gBlockRecvBuffer -_080C8A00: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc - b _080C8A1A -_080C8A0C: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080C8A1A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C8938 - - thumb_func_start sub_80C89DC -sub_80C89DC: @ 80C89DC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C8A04 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C8A08 - cmp r0, 0x1 - beq _080C8A20 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080C8A30 - .align 2, 0 -_080C8A04: .4byte gTasks -_080C8A08: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8A30 - ldr r0, _080C8A1C @ =gContestPlayerMonIndex - movs r1, 0x1 - bl sub_80C857C - b _080C8A2A - .align 2, 0 -_080C8A1C: .4byte gContestPlayerMonIndex -_080C8A20: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8A30 -_080C8A2A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080C8A30: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C89DC - - thumb_func_start sub_80C8A38 -sub_80C8A38: @ 80C8A38 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r7, _080C8A60 @ =gTasks - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r0, 3 - adds r4, r0, r7 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C8A64 - cmp r0, 0x1 - beq _080C8A94 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080C8AC2 - .align 2, 0 -_080C8A60: .4byte gTasks -_080C8A64: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8AC2 - ldr r0, _080C8A8C @ =gContestPlayerMonIndex - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _080C8A90 @ =gSharedMem + 0x19266 - adds r0, r1 - movs r1, 0x2 - bl sub_80C857C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080C8AC2 - .align 2, 0 -_080C8A8C: .4byte gContestPlayerMonIndex -_080C8A90: .4byte gSharedMem + 0x19266 -_080C8A94: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8AC2 - ldr r1, _080C8AC8 @ =gBlockRecvBuffer - ldr r3, _080C8ACC @ =gSharedMem + 0x19266 - movs r4, 0x80 - lsls r4, 1 - movs r2, 0x3 -_080C8AA8: - ldrh r0, [r1] - strh r0, [r3] - adds r1, r4 - adds r3, 0x1C - subs r2, 0x1 - cmp r2, 0 - bge _080C8AA8 - adds r1, r6, r5 - lsls r1, 3 - adds r1, r7 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_080C8AC2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C8AC8: .4byte gBlockRecvBuffer -_080C8ACC: .4byte gSharedMem + 0x19266 - thumb_func_end sub_80C8A38 - - thumb_func_start sub_80C8AD0 -sub_80C8AD0: @ 80C8AD0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080C8AF8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - adds r3, r1, 0 - cmp r0, 0xB - bls _080C8AEC - b _080C8C70 -_080C8AEC: - lsls r0, 2 - ldr r1, _080C8AFC @ =_080C8B00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C8AF8: .4byte gTasks -_080C8AFC: .4byte _080C8B00 - .align 2, 0 -_080C8B00: - .4byte _080C8B30 - .4byte _080C8B4C - .4byte _080C8B74 - .4byte _080C8B98 - .4byte _080C8BB0 - .4byte _080C8B74 - .4byte _080C8BD8 - .4byte _080C8BF0 - .4byte _080C8B74 - .4byte _080C8C18 - .4byte _080C8C30 - .4byte _080C8B74 -_080C8B30: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _080C8B3C - b _080C8C7A -_080C8B3C: - ldr r0, _080C8B48 @ =gUnknown_02038678 - movs r1, 0x8 - bl sub_80C857C - b _080C8C4C - .align 2, 0 -_080C8B48: .4byte gUnknown_02038678 -_080C8B4C: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - bne _080C8B58 - b _080C8C7A -_080C8B58: - ldr r0, _080C8B68 @ =gUnknown_02038678 - ldr r1, _080C8B6C @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8B70 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080C8C48 - .align 2, 0 -_080C8B68: .4byte gUnknown_02038678 -_080C8B6C: .4byte gUnknown_0203869B -_080C8B70: .4byte gBlockRecvBuffer -_080C8B74: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bgt _080C8B8C - b _080C8C7A -_080C8B8C: - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080C8C7A -_080C8B98: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8BAC @ =gUnknown_02038680 - movs r1, 0x8 - bl sub_80C857C - b _080C8C4C - .align 2, 0 -_080C8BAC: .4byte gUnknown_02038680 -_080C8BB0: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8BCC @ =gUnknown_02038680 - ldr r1, _080C8BD0 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8BD4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080C8C48 - .align 2, 0 -_080C8BCC: .4byte gUnknown_02038680 -_080C8BD0: .4byte gUnknown_0203869B -_080C8BD4: .4byte gBlockRecvBuffer -_080C8BD8: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8BEC @ =gUnknown_02038688 - movs r1, 0x8 - bl sub_80C857C - b _080C8C4C - .align 2, 0 -_080C8BEC: .4byte gUnknown_02038688 -_080C8BF0: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8C0C @ =gUnknown_02038688 - ldr r1, _080C8C10 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8C14 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - b _080C8C48 - .align 2, 0 -_080C8C0C: .4byte gUnknown_02038688 -_080C8C10: .4byte gUnknown_0203869B -_080C8C14: .4byte gBlockRecvBuffer -_080C8C18: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8C2C @ =gContestFinalStandings - movs r1, 0x4 - bl sub_80C857C - b _080C8C4C - .align 2, 0 -_080C8C2C: .4byte gContestFinalStandings -_080C8C30: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8C7A - ldr r0, _080C8C60 @ =gContestFinalStandings - ldr r1, _080C8C64 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8C68 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 -_080C8C48: - bl memcpy -_080C8C4C: - ldr r1, _080C8C6C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080C8C7A - .align 2, 0 -_080C8C60: .4byte gContestFinalStandings -_080C8C64: .4byte gUnknown_0203869B -_080C8C68: .4byte gBlockRecvBuffer -_080C8C6C: .4byte gTasks -_080C8C70: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080C8C7A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C8AD0 - - thumb_func_start sub_80C8C80 -sub_80C8C80: @ 80C8C80 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080C8CA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - adds r3, r1, 0 - cmp r0, 0xB - bls _080C8C9C - b _080C8E0C -_080C8C9C: - lsls r0, 2 - ldr r1, _080C8CAC @ =_080C8CB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C8CA8: .4byte gTasks -_080C8CAC: .4byte _080C8CB0 - .align 2, 0 -_080C8CB0: - .4byte _080C8CE0 - .4byte _080C8CFC - .4byte _080C8D24 - .4byte _080C8D46 - .4byte _080C8D60 - .4byte _080C8D24 - .4byte _080C8D88 - .4byte _080C8DA0 - .4byte _080C8D24 - .4byte _080C8DB4 - .4byte _080C8DCC - .4byte _080C8D24 -_080C8CE0: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _080C8CEC - b _080C8E16 -_080C8CEC: - ldr r0, _080C8CF8 @ =gSharedMem + 0x19260 - movs r1, 0x70 - bl sub_80C857C - b _080C8DE8 - .align 2, 0 -_080C8CF8: .4byte gSharedMem + 0x19260 -_080C8CFC: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - bne _080C8D08 - b _080C8E16 -_080C8D08: - ldr r0, _080C8D18 @ =gSharedMem + 0x19260 - ldr r1, _080C8D1C @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8D20 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x70 - b _080C8DE4 - .align 2, 0 -_080C8D18: .4byte gSharedMem + 0x19260 -_080C8D1C: .4byte gUnknown_0203869B -_080C8D20: .4byte gBlockRecvBuffer -_080C8D24: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080C8E16 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080C8E16 -_080C8D46: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8D5C @ =gSharedMem + 0x192D0 - movs r1, 0x14 - bl sub_80C857C - b _080C8DE8 - .align 2, 0 -_080C8D5C: .4byte gSharedMem + 0x192D0 -_080C8D60: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8D7C @ =gSharedMem + 0x192D0 - ldr r1, _080C8D80 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8D84 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x14 - b _080C8DE4 - .align 2, 0 -_080C8D7C: .4byte gSharedMem + 0x192D0 -_080C8D80: .4byte gUnknown_0203869B -_080C8D84: .4byte gBlockRecvBuffer -_080C8D88: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8D9C @ =gSharedMem + 0x19328 - movs r1, 0x4 - bl sub_80C857C - b _080C8DE8 - .align 2, 0 -_080C8D9C: .4byte gSharedMem + 0x19328 -_080C8DA0: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8DB0 @ =gSharedMem + 0x19328 - b _080C8DD8 - .align 2, 0 -_080C8DB0: .4byte gSharedMem + 0x19328 -_080C8DB4: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8DC8 @ =gUnknown_02038696 - movs r1, 0x4 - bl sub_80C857C - b _080C8DE8 - .align 2, 0 -_080C8DC8: .4byte gUnknown_02038696 -_080C8DCC: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8E16 - ldr r0, _080C8DFC @ =gUnknown_02038696 -_080C8DD8: - ldr r1, _080C8E00 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8E04 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 -_080C8DE4: - bl memcpy -_080C8DE8: - ldr r1, _080C8E08 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080C8E16 - .align 2, 0 -_080C8DFC: .4byte gUnknown_02038696 -_080C8E00: .4byte gUnknown_0203869B -_080C8E04: .4byte gBlockRecvBuffer -_080C8E08: .4byte gTasks -_080C8E0C: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080C8E16: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C8C80 - - thumb_func_start sub_80C8E1C -sub_80C8E1C: @ 80C8E1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C8E40 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r6, r0, 3 - adds r2, r6, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - adds r7, r1, 0 - cmp r0, 0x1 - beq _080C8EB0 - cmp r0, 0x1 - bgt _080C8E44 - cmp r0, 0 - beq _080C8E4C - b _080C8EF8 - .align 2, 0 -_080C8E40: .4byte gTasks -_080C8E44: - cmp r0, 0x2 - beq _080C8EEC - cmp r0, 0x8 - bne _080C8EF8 -_080C8E4C: - ldr r1, _080C8E80 @ =gBlockSendBuffer - movs r0, 0x64 - strb r0, [r1] - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080C8E9A - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8F06 - ldr r0, _080C8E84 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080C8E88 - movs r0, 0x3 - strh r0, [r4, 0x8] - b _080C8F06 - .align 2, 0 -_080C8E80: .4byte gBlockSendBuffer -_080C8E84: .4byte gTasks -_080C8E88: - movs r0, 0 - bl de_sub_80C9274 - movs r0, 0x2 - bl sub_8007E9C - movs r0, 0x1 - strh r0, [r4, 0x8] - b _080C8F06 -_080C8E9A: - movs r0, 0 - bl de_sub_80C9294 - ldr r0, _080C8EAC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - b _080C8EDE - .align 2, 0 -_080C8EAC: .4byte gTasks -_080C8EB0: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8F06 - adds r1, r4, 0 - ldr r4, _080C8EE8 @ =gBlockRecvBuffer - adds r0, r7, 0 - adds r0, 0x12 - adds r2, r6, r0 - movs r6, 0x80 - lsls r6, 1 - movs r3, 0x3 -_080C8ECA: - ldrh r0, [r4] - strh r0, [r2] - adds r4, r6 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080C8ECA - adds r1, r5 - lsls r1, 3 - adds r1, r7 -_080C8EDE: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C8F06 - .align 2, 0 -_080C8EE8: .4byte gBlockRecvBuffer -_080C8EEC: - movs r0, 0 - strh r0, [r2, 0x8] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc - b _080C8F06 -_080C8EF8: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] -_080C8F06: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C8E1C - - thumb_func_start sub_80C8EBC -sub_80C8EBC: @ 80C8EBC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C8EE4 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C8EE8_B - cmp r0, 0x1 - beq _080C8F00 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080C8F22 - .align 2, 0 -_080C8EE4: .4byte gTasks -_080C8EE8_B: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8F22 - ldr r0, _080C8EFC @ =gUnknown_02038670 - movs r1, 0x8 - bl sub_80C857C - b _080C8F1C - .align 2, 0 -_080C8EFC: .4byte gUnknown_02038670 -_080C8F00: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8F22 - ldr r0, _080C8F28 @ =gUnknown_02038670 - ldr r1, _080C8F2C @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8F30 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x8 - bl memcpy -_080C8F1C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080C8F22: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C8F28: .4byte gUnknown_02038670 -_080C8F2C: .4byte gUnknown_0203869B -_080C8F30: .4byte gBlockRecvBuffer - thumb_func_end sub_80C8EBC - - thumb_func_start sub_80C8F34 -sub_80C8F34: @ 80C8F34 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C8F5C @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C8F60 - cmp r0, 0x1 - beq _080C8F78 - movs r0, 0 - strh r0, [r4, 0x8] - adds r0, r2, 0 - bl SwitchTaskToFollowupFunc - b _080C8F9A - .align 2, 0 -_080C8F5C: .4byte gTasks -_080C8F60: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _080C8F9A - ldr r0, _080C8F74 @ =gUnknown_02038696 - movs r1, 0x4 - bl sub_80C857C - b _080C8F94 - .align 2, 0 -_080C8F74: .4byte gUnknown_02038696 -_080C8F78: - bl sub_80C85D8 - lsls r0, 24 - cmp r0, 0 - beq _080C8F9A - ldr r0, _080C8FA0 @ =gUnknown_02038696 - ldr r1, _080C8FA4 @ =gUnknown_0203869B - ldrb r1, [r1] - lsls r1, 8 - ldr r2, _080C8FA8 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x4 - bl memcpy -_080C8F94: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080C8F9A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C8FA0: .4byte gUnknown_02038696 -_080C8FA4: .4byte gUnknown_0203869B -_080C8FA8: .4byte gBlockRecvBuffer - thumb_func_end sub_80C8F34 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm-de/easy_chat.s b/asm-de/easy_chat.s deleted file mode 100644 index 89ea03b69..000000000 --- a/asm-de/easy_chat.s +++ /dev/null @@ -1,10803 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E60D8 -sub_80E60D8: @ 80E60D8 - push {r4-r7,lr} - movs r4, 0x3 - ldr r0, _080E60F4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r7, r0, 0 - cmp r1, 0xD - bls _080E60E8 - b _080E6284 -_080E60E8: - lsls r0, r1, 2 - ldr r1, _080E60F8 @ =_080E60FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E60F4: .4byte gSpecialVar_0x8004 -_080E60F8: .4byte _080E60FC - .align 2, 0 -_080E60FC: - .4byte _080E6134 - .4byte _080E613C - .4byte _080E6144 - .4byte _080E614C - .4byte _080E6154 - .4byte _080E619C - .4byte _080E616C - .4byte _080E61BC - .4byte _080E61E0 - .4byte _080E61FC - .4byte _080E6200 - .4byte _080E6214 - .4byte _080E623C - .4byte _080E6260 -_080E6134: - ldr r1, _080E6138 @ =gSaveBlock1 + 0x2B1C - b _080E624C - .align 2, 0 -_080E6138: .4byte gSaveBlock1 + 0x2B1C -_080E613C: - ldr r1, _080E6140 @ =gSaveBlock1 + 0x2B28 - b _080E6276 - .align 2, 0 -_080E6140: .4byte gSaveBlock1 + 0x2B28 -_080E6144: - ldr r1, _080E6148 @ =gSaveBlock1 + 0x2B34 - b _080E624C - .align 2, 0 -_080E6148: .4byte gSaveBlock1 + 0x2B34 -_080E614C: - ldr r1, _080E6150 @ =gSaveBlock1 + 0x2B40 - b _080E6276 - .align 2, 0 -_080E6150: .4byte gSaveBlock1 + 0x2B40 -_080E6154: - ldr r0, _080E6164 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E6168 @ =gSaveBlock1 + 0x2B4C - adds r1, r0, r1 - b _080E624C - .align 2, 0 -_080E6164: .4byte gSpecialVar_0x8005 -_080E6168: .4byte gSaveBlock1 + 0x2B4C -_080E616C: - ldr r0, _080E6194 @ =gSaveBlock1 + 0x2D94 - movs r2, 0 - ldr r1, _080E6198 @ =sub_80546B8 - mov r12, r1 - adds r3, r0, 0 - adds r3, 0xE - adds r5, r0, 0x2 - adds r6, r3, 0 -_080E617C: - lsls r0, r2, 1 - adds r1, r3, r0 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080E617C - adds r1, r6, 0 - b _080E627A - .align 2, 0 -_080E6194: .4byte gSaveBlock1 + 0x2D94 -_080E6198: .4byte sub_80546B8 -_080E619C: - ldr r0, _080E61B0 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E61B4 @ =gSaveBlock1 + 0x273C - adds r1, r0, r1 - ldr r0, _080E61B8 @ =gSpecialVar_0x8006 - ldrb r4, [r0] - b _080E6276 - .align 2, 0 -_080E61B0: .4byte gSpecialVar_0x8005 -_080E61B4: .4byte gSaveBlock1 + 0x273C -_080E61B8: .4byte gSpecialVar_0x8006 -_080E61BC: - ldr r0, _080E61D4 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080E61D8 @ =gSaveBlock1 + 0x2754 - adds r1, r0 - ldr r0, _080E61DC @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r1, r0 - b _080E624A - .align 2, 0 -_080E61D4: .4byte gSpecialVar_0x8005 -_080E61D8: .4byte gSaveBlock1 + 0x2754 -_080E61DC: .4byte gSpecialVar_0x8006 -_080E61E0: - ldr r0, _080E61F4 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E61F8 @ =gSaveBlock1 + 0x273A - adds r1, r0, r1 - movs r4, 0 - b _080E6276 - .align 2, 0 -_080E61F4: .4byte gSpecialVar_0x8005 -_080E61F8: .4byte gSaveBlock1 + 0x273A -_080E61FC: - movs r1, 0 - b _080E624C -_080E6200: - ldr r1, _080E620C @ =gSaveBlock1 + 0x2B16 - ldr r2, _080E6210 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - b _080E624A - .align 2, 0 -_080E620C: .4byte gSaveBlock1 + 0x2B16 -_080E6210: .4byte 0x0000ffff -_080E6214: - ldr r0, _080E6230 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080E6234 @ =gSaveBlock1 + 0x273C - adds r1, r0 - ldr r0, _080E6238 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r1, r0 - movs r4, 0 - b _080E6276 - .align 2, 0 -_080E6230: .4byte gSpecialVar_0x8005 -_080E6234: .4byte gSaveBlock1 + 0x273C -_080E6238: .4byte gSpecialVar_0x8006 -_080E623C: - ldr r0, _080E6254 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E6258 @ =gSaveBlock1 + 0x2750 - adds r1, r0, r1 -_080E624A: - movs r4, 0x1 -_080E624C: - ldr r0, _080E625C @ =sub_80546B8 - mov r12, r0 - b _080E627A - .align 2, 0 -_080E6254: .4byte gSpecialVar_0x8005 -_080E6258: .4byte gSaveBlock1 + 0x2750 -_080E625C: .4byte sub_80546B8 -_080E6260: - ldr r1, _080E628C @ =gSharedMem + 0x1000 - ldr r0, _080E6290 @ =0x00009fa8 - adds r2, r1, r0 - ldr r0, _080E6294 @ =0x0000ffff - strh r0, [r2] - ldr r0, _080E6298 @ =0x00009faa - adds r1, r0 - movs r0, 0x1 - negs r0, r0 - strh r0, [r1] - adds r1, r2, 0 -_080E6276: - ldr r2, _080E629C @ =sub_80546B8 - mov r12, r2 -_080E627A: - ldrb r0, [r7] - mov r2, r12 - adds r3, r4, 0 - bl sub_80E62A0 -_080E6284: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E628C: .4byte gSharedMem + 0x1000 -_080E6290: .4byte 0x00009fa8 -_080E6294: .4byte 0x0000ffff -_080E6298: .4byte 0x00009faa -_080E629C: .4byte sub_80546B8 - thumb_func_end sub_80E60D8 - - thumb_func_start sub_80E62A0 -sub_80E62A0: @ 80E62A0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080E62DC @ =gSharedMem + 0x1000 - str r2, [r4] - str r1, [r4, 0x4] - strb r0, [r4, 0x8] - strb r3, [r4, 0xB] - cmp r0, 0x9 - bne _080E62D0 - ldr r0, _080E62E0 @ =0x00009fa8 - adds r2, r4, r0 - str r2, [r4, 0x4] - ldr r0, _080E62E4 @ =gSaveBlock1 - ldr r3, _080E62E8 @ =0x00002dd8 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2] - ldr r1, _080E62EC @ =0x00002dda - adds r0, r1 - ldrh r1, [r0] - ldr r2, _080E62F0 @ =0x00009faa - adds r0, r4, r2 - strh r1, [r0] -_080E62D0: - ldr r0, _080E62F4 @ =sub_80E62F8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E62DC: .4byte gSharedMem + 0x1000 -_080E62E0: .4byte 0x00009fa8 -_080E62E4: .4byte gSaveBlock1 -_080E62E8: .4byte 0x00002dd8 -_080E62EC: .4byte 0x00002dda -_080E62F0: .4byte 0x00009faa -_080E62F4: .4byte sub_80E62F8 - thumb_func_end sub_80E62A0 - - thumb_func_start sub_80E62F8 -sub_80E62F8: @ 80E62F8 - push {lr} - sub sp, 0x4 - ldr r0, _080E6314 @ =gMain - ldr r1, _080E6318 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080E6344 - lsls r0, 2 - ldr r1, _080E631C @ =_080E6320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6314: .4byte gMain -_080E6318: .4byte 0x0000043c -_080E631C: .4byte _080E6320 - .align 2, 0 -_080E6320: - .4byte _080E6344 - .4byte _080E6380 - .4byte _080E638C - .4byte _080E63A8 - .4byte _080E63AE - .4byte _080E63B4 - .4byte _080E63BE - .4byte _080E63D8 - .4byte _080E63EA -_080E6344: - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - movs r0, 0 - bl SetVBlankCallback - bl ResetPaletteFade - bl ResetSpriteData - bl dp12_8087EA4 - bl remove_some_task - bl sub_80EAD08 - ldr r2, _080E637C @ =gUnknown_083DB698 - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80895F8 - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - b _080E6402 - .align 2, 0 -_080E637C: .4byte gUnknown_083DB698 -_080E6380: - ldr r0, _080E6388 @ =gWindowConfig_81E6DA8 - bl SetUpWindowConfig - b _080E6402 - .align 2, 0 -_080E6388: .4byte gWindowConfig_81E6DA8 -_080E638C: - ldr r0, _080E63A0 @ =gWindowConfig_81E6D54 - bl InitMenuWindow - ldr r0, _080E63A4 @ =gWindowConfig_81E6DA8 - bl InitMenuWindow - bl MenuZeroFillScreen - b _080E6402 - .align 2, 0 -_080E63A0: .4byte gWindowConfig_81E6D54 -_080E63A4: .4byte gWindowConfig_81E6DA8 -_080E63A8: - bl sub_80E6424 - b _080E6402 -_080E63AE: - bl sub_80E8DD8 - b _080E6402 -_080E63B4: - bl sub_80E8218 - bl sub_80E8CEC - b _080E6402 -_080E63BE: - bl sub_80E69F8 - ldr r0, _080E63D0 @ =sub_80E6AA8 - bl sub_80E682C - ldr r0, _080E63D4 @ =sub_80E6A6C - bl SetVBlankCallback - b _080E6402 - .align 2, 0 -_080E63D0: .4byte sub_80E6AA8 -_080E63D4: .4byte sub_80E6A6C -_080E63D8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080E6402 -_080E63EA: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080E6414 @ =sub_80E6A88 - bl SetMainCallback2 - ldr r0, _080E6418 @ =0x00000805 - bl FlagSet -_080E6402: - ldr r1, _080E641C @ =gMain - ldr r0, _080E6420 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080E6414: .4byte sub_80E6A88 -_080E6418: .4byte 0x00000805 -_080E641C: .4byte gMain -_080E6420: .4byte 0x0000043c - thumb_func_end sub_80E62F8 - - thumb_func_start sub_80E6424 -sub_80E6424: @ 80E6424 - push {lr} - ldr r2, _080E6444 @ =gSharedMem + 0x1000 - ldr r0, _080E6448 @ =gUnknown_083DB6A4 - ldrb r1, [r2, 0x8] - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2, 0x9] - ldrb r0, [r2, 0x9] - adds r3, r2, 0 - cmp r0, 0x5 - bhi _080E6512 - lsls r0, 2 - ldr r1, _080E644C @ =_080E6450 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6444: .4byte gSharedMem + 0x1000 -_080E6448: .4byte gUnknown_083DB6A4 -_080E644C: .4byte _080E6450 - .align 2, 0 -_080E6450: - .4byte _080E64A0 - .4byte _080E64B8 - .4byte _080E64DA - .4byte _080E64F6 - .4byte _080E6468 - .4byte _080E6480 -_080E6468: - movs r2, 0x4 - strb r2, [r3, 0xA] - adds r0, r3, 0 - adds r0, 0x83 - movs r1, 0x2 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x5 - b _080E64D0 -_080E6480: - movs r1, 0x4 - strb r1, [r3, 0xA] - adds r2, r3, 0 - adds r2, 0x83 - movs r0, 0x1 - strb r0, [r2] - adds r0, r3, 0 - adds r0, 0x84 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x10 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - b _080E6510 -_080E64A0: - movs r0, 0x6 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - movs r0, 0x2 - strb r0, [r1] - adds r0, r3, 0 - adds r0, 0x84 - movs r2, 0x3 - strb r2, [r0] - adds r1, 0x5 - b _080E64CE -_080E64B8: - movs r2, 0 - movs r0, 0x9 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - movs r0, 0x2 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - strb r0, [r1] - adds r1, 0x4 -_080E64CE: - movs r0, 0x4 -_080E64D0: - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x8A - strh r2, [r0] - b _080E6512 -_080E64DA: - movs r1, 0x1 - strb r1, [r3, 0xA] - adds r0, r3, 0 - adds r0, 0x83 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x10 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x4 - b _080E6510 -_080E64F6: - movs r0, 0x2 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x1 - strb r0, [r1] - adds r1, 0x4 - movs r0, 0x5 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3 -_080E6510: - strh r0, [r1] -_080E6512: - adds r1, r3, 0 - adds r1, 0x86 - movs r0, 0 - strb r0, [r1] - subs r1, 0x1 - strb r0, [r1] - adds r1, 0x2 - strb r0, [r1] - subs r1, 0x61 - strb r0, [r1] - movs r2, 0xDD - lsls r2, 1 - adds r1, r3, r2 - strh r0, [r1] - movs r0, 0xDF - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x2 - strb r0, [r1] - bl sub_80E6554 - bl sub_80EAECC - bl sub_80EB040 - bl sub_80E7E50 - bl sub_80E6630 - bl sub_80E6690 - pop {r0} - bx r0 - thumb_func_end sub_80E6424 - - thumb_func_start sub_80E6554 -sub_80E6554: @ 80E6554 - push {r4-r7,lr} - sub sp, 0x4 - movs r4, 0 - movs r7, 0 - ldr r0, _080E6564 @ =gSharedMem + 0x1000 - mov r12, r0 - b _080E656E - .align 2, 0 -_080E6564: .4byte gSharedMem + 0x1000 -_080E6568: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_080E656E: - movs r5, 0 - lsls r3, r7, 1 - mov r6, r12 - adds r6, 0x2A - adds r2, r3, r6 - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - strb r1, [r2] - cmp r4, 0x11 - beq _080E65A6 -_080E6586: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bhi _080E65A2 - adds r2, r5, r3 - adds r2, r6 - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - strb r1, [r2] - cmp r4, 0x11 - bne _080E6586 -_080E65A2: - cmp r4, 0x11 - bne _080E6568 -_080E65A6: - movs r0, 0x11 - mov r1, r12 - strh r0, [r1, 0x28] - cmp r4, 0x15 - bhi _080E6612 - mov r6, r12 - adds r2, r6, 0 - adds r2, 0x78 -_080E65B6: - lsls r0, r4, 24 - lsrs r0, 24 - str r2, [sp] - bl sub_80EAD7C - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [sp] - cmp r1, 0 - beq _080E65FC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E65DC - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r5, 0 -_080E65DC: - lsls r0, r7, 1 - adds r0, r5, r0 - adds r1, r6, 0 - adds r1, 0x2A - adds r0, r1 - strb r4, [r0] - adds r0, r4, 0 - subs r0, 0x11 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - ldrh r0, [r6, 0x28] - adds r0, 0x1 - strh r0, [r6, 0x28] - mov r12, r6 - b _080E6608 -_080E65FC: - adds r0, r4, 0 - subs r0, 0x11 - adds r0, r2 - strb r1, [r0] - ldr r0, _080E662C @ =gSharedMem + 0x1000 - mov r12, r0 -_080E6608: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x15 - bls _080E65B6 -_080E6612: - mov r1, r12 - ldrh r0, [r1, 0x28] - adds r0, 0x1 - asrs r0, 1 - movs r1, 0xDB - lsls r1, 1 - add r1, r12 - strb r0, [r1] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E662C: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E6554 - - thumb_func_start sub_80E6630 -sub_80E6630: @ 80E6630 - push {r4-r7,lr} - movs r1, 0 - ldr r0, _080E6664 @ =gUnknown_083DB6B2 - mov r12, r0 -_080E6638: - lsls r0, r1, 4 - mov r2, r12 - adds r5, r0, r2 - movs r3, 0 - ldrb r0, [r5] - adds r7, r1, 0x1 - cmp r0, 0xFF - beq _080E6680 - lsls r0, r1, 3 - subs r0, r1 - lsls r4, r0, 1 - ldr r6, _080E6668 @ =gSharedMem + 0x1040 -_080E6650: - adds r0, r5, r3 - ldrb r1, [r0] - adds r2, r1, 0 - cmp r2, 0 - beq _080E666C - adds r0, r3, r4 - adds r0, r6 - adds r1, 0x46 - strb r1, [r0] - b _080E6672 - .align 2, 0 -_080E6664: .4byte gUnknown_083DB6B2 -_080E6668: .4byte gSharedMem + 0x1040 -_080E666C: - adds r0, r3, r4 - adds r0, r6 - strb r2, [r0] -_080E6672: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E6650 -_080E6680: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080E6638 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E6630 - - thumb_func_start sub_80E6690 -sub_80E6690: @ 80E6690 - push {r4-r6,lr} - sub sp, 0x10 - mov r0, sp - ldr r1, _080E66E0 @ =gUnknown_083DB7DC - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldr r1, [r1] - str r1, [r0] - movs r5, 0 - ldr r6, _080E66E4 @ =gUnknown_083DB7C0 -_080E66A4: - ldr r0, _080E66E8 @ =gSharedMem + 0x1000 - ldrb r0, [r0, 0x8] - lsls r0, 1 - adds r0, r5, r0 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E66EC @ =gUnknown_083DB6F4 - adds r4, r0, r1 - lsls r0, r5, 3 - add r0, sp - ldr r0, [r0] - ldr r1, [r4] - bl StringCopy - adds r3, r0, 0 - ldrb r0, [r4, 0x8] - cmp r0, 0 - beq _080E66F0 - lsls r0, r5, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, [r4, 0x4] - bl StringCopy - b _080E670A - .align 2, 0 -_080E66E0: .4byte gUnknown_083DB7DC -_080E66E4: .4byte gUnknown_083DB7C0 -_080E66E8: .4byte gSharedMem + 0x1000 -_080E66EC: .4byte gUnknown_083DB6F4 -_080E66F0: - strb r0, [r3] - adds r3, 0x1 - ldr r1, [r4, 0x4] - adds r0, r3, 0 - bl StringCopy - lsls r0, r5, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] -_080E670A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E66A4 - movs r5, 0 - ldr r3, _080E6758 @ =gSharedMem + 0x1000 - ldr r0, _080E675C @ =0x0000a0d0 - adds r2, r3, r0 - movs r1, 0 -_080E671E: - adds r0, r5, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x23 - bls _080E671E - ldr r1, _080E675C @ =0x0000a0d0 - adds r0, r3, r1 - adds r0, r5, r0 - movs r4, 0x1 - negs r4, r4 - adds r2, r4, 0 - movs r1, 0xFF - strb r1, [r0] - ldr r0, _080E6760 @ =0x0000a29a - adds r3, r0 - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x11 - strb r0, [r3, 0x1] - movs r0, 0xE0 - strb r0, [r3, 0x2] - strb r2, [r3, 0x3] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E6758: .4byte gSharedMem + 0x1000 -_080E675C: .4byte 0x0000a0d0 -_080E6760: .4byte 0x0000a29a - thumb_func_end sub_80E6690 - - thumb_func_start InitEasyChatPhrases -InitEasyChatPhrases: @ 80E6764 - push {r4-r6,lr} - movs r3, 0 - ldr r4, _080E680C @ =gSaveBlock1 + 0x2B1C - ldr r2, _080E6810 @ =gUnknown_083DB7EC -_080E676C: - lsls r0, r3, 1 - adds r1, r0, r4 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080E676C - movs r3, 0 - ldr r4, _080E6814 @ =gSaveBlock1 + 0x2B28 - ldr r2, _080E6818 @ =gUnknown_083DB7F4 -_080E6786: - lsls r0, r3, 1 - adds r1, r0, r4 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080E6786 - movs r3, 0 - ldr r5, _080E681C @ =gSaveBlock1 + 0x2B34 - ldr r0, _080E6820 @ =0x0000ffff - adds r4, r0, 0 - adds r6, r5, 0 - adds r6, 0xC -_080E67A6: - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r2] - orrs r0, r4 - strh r0, [r2] - adds r1, r6 - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080E67A6 - movs r3, 0 - ldr r6, _080E6824 @ =gSaveBlock1 + 0x2B4C - ldr r0, _080E6820 @ =0x0000ffff - adds r5, r0, 0 -_080E67CA: - movs r2, 0 - lsls r0, r3, 3 - adds r0, r3 - lsls r4, r0, 2 -_080E67D2: - lsls r0, r2, 1 - adds r0, r4 - adds r0, r6 - ldrh r1, [r0] - orrs r1, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x8 - bls _080E67D2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bls _080E67CA - movs r3, 0 - ldr r2, _080E6828 @ =gSaveBlock1 + 0x2D8C - movs r1, 0 -_080E67F8: - adds r0, r3, r2 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3F - bls _080E67F8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E680C: .4byte gSaveBlock1 + 0x2B1C -_080E6810: .4byte gUnknown_083DB7EC -_080E6814: .4byte gSaveBlock1 + 0x2B28 -_080E6818: .4byte gUnknown_083DB7F4 -_080E681C: .4byte gSaveBlock1 + 0x2B34 -_080E6820: .4byte 0x0000ffff -_080E6824: .4byte gSaveBlock1 + 0x2B4C -_080E6828: .4byte gSaveBlock1 + 0x2D8C - thumb_func_end InitEasyChatPhrases - - thumb_func_start sub_80E682C -sub_80E682C: @ 80E682C - ldr r1, _080E6838 @ =gSharedMem + 0x1000 - str r0, [r1, 0x20] - movs r0, 0 - strh r0, [r1, 0x24] - bx lr - .align 2, 0 -_080E6838: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E682C - - thumb_func_start sub_80E683C -sub_80E683C: @ 80E683C - push {r4,r5,lr} - ldr r1, _080E6890 @ =gSharedMem + 0x1000 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0 - bne _080E6898 - movs r1, 0 - movs r0, 0xDB - lsls r0, 1 - adds r3, r2, r0 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r1, r0 - bge _080E6876 - movs r0, 0xD5 - lsls r0, 1 - adds r5, r2, r0 - movs r4, 0x2 -_080E6864: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r1, r0 - blt _080E6864 -_080E6876: - adds r0, r2, r1 - ldr r1, _080E6894 @ =0x000001a9 - adds r3, r0, r1 - ldrh r0, [r2, 0x28] - movs r1, 0x1 - ands r0, r1 - strb r0, [r3] - cmp r0, 0 - bne _080E68B8 - movs r0, 0x2 - strb r0, [r3] - b _080E68B8 - .align 2, 0 -_080E6890: .4byte gSharedMem + 0x1000 -_080E6894: .4byte 0x000001a9 -_080E6898: - movs r3, 0xD5 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0x7 - strb r0, [r1] - ldr r1, _080E68E0 @ =0x000001ab - adds r3, r2, r1 - movs r1, 0x6 - strb r1, [r3] - movs r3, 0xD6 - lsls r3, 1 - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0x1 - adds r1, r2, r3 - strb r0, [r1] -_080E68B8: - movs r0, 0xD4 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - strb r0, [r1] - ldr r3, _080E68E4 @ =0x000001a9 - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0xC - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0x2 - adds r1, r2, r3 - strb r0, [r1] - bl sub_80E9A4C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E68E0: .4byte 0x000001ab -_080E68E4: .4byte 0x000001a9 - thumb_func_end sub_80E683C - - thumb_func_start sub_80E68E8 -sub_80E68E8: @ 80E68E8 - push {r4-r6,lr} - bl sub_80EB0B0 - ldr r3, _080E694C @ =gSharedMem + 0x1000 - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E695C - movs r1, 0xDC - lsls r1, 1 - adds r0, r3, r1 - ldrb r6, [r0] - lsls r0, r6, 1 - ldr r2, _080E6950 @ =0x000044a2 - adds r1, r3, r2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - asrs r0, 1 - ldr r1, _080E6954 @ =0x00009d54 - adds r2, r3, r1 - strb r0, [r2] - movs r1, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r5, r3, 0 - cmp r1, r0 - bge _080E693A - ldr r3, _080E6958 @ =0x00009cd2 - adds r4, r5, r3 - movs r3, 0x2 -_080E6928: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - blt _080E6928 -_080E693A: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, _080E6958 @ =0x00009cd2 - adds r0, r5, r2 - adds r2, r1, r0 - lsls r0, r6, 1 - ldr r3, _080E6950 @ =0x000044a2 - b _080E69AC - .align 2, 0 -_080E694C: .4byte gSharedMem + 0x1000 -_080E6950: .4byte 0x000044a2 -_080E6954: .4byte 0x00009d54 -_080E6958: .4byte 0x00009cd2 -_080E695C: - movs r1, 0xDC - lsls r1, 1 - adds r0, r3, r1 - ldrb r6, [r0] - lsls r0, r6, 1 - ldr r2, _080E69E0 @ =0x0000446c - adds r1, r3, r2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - asrs r0, 1 - ldr r1, _080E69E4 @ =0x00009d54 - adds r2, r3, r1 - strb r0, [r2] - movs r1, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r5, r3, 0 - cmp r1, r0 - bge _080E699C - ldr r3, _080E69E8 @ =0x00009cd2 - adds r4, r5, r3 - movs r3, 0x2 -_080E698A: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - blt _080E698A -_080E699C: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, _080E69E8 @ =0x00009cd2 - adds r0, r5, r2 - adds r2, r1, r0 - lsls r0, r6, 1 - ldr r3, _080E69E0 @ =0x0000446c -_080E69AC: - adds r1, r5, r3 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - ands r0, r1 - strb r0, [r2] - cmp r0, 0 - bne _080E69C0 - movs r0, 0x2 - strb r0, [r2] -_080E69C0: - ldr r1, _080E69EC @ =0x00009cd0 - adds r0, r5, r1 - movs r1, 0 - strb r1, [r0] - ldr r2, _080E69F0 @ =0x00009cd1 - adds r0, r5, r2 - strb r1, [r0] - ldr r3, _080E69F4 @ =0x00009d55 - adds r0, r5, r3 - strb r1, [r0] - bl sub_80E9A4C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E69E0: .4byte 0x0000446c -_080E69E4: .4byte 0x00009d54 -_080E69E8: .4byte 0x00009cd2 -_080E69EC: .4byte 0x00009cd0 -_080E69F0: .4byte 0x00009cd1 -_080E69F4: .4byte 0x00009d55 - thumb_func_end sub_80E68E8 - - thumb_func_start sub_80E69F8 -sub_80E69F8: @ 80E69F8 - push {r4,lr} - ldr r0, _080E6A10 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0x8] - adds r4, r0, 0 - cmp r1, 0xD - bhi _080E6A50 - lsls r0, r1, 2 - ldr r1, _080E6A14 @ =_080E6A18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6A10: .4byte gSharedMem + 0x1000 -_080E6A14: .4byte _080E6A18 - .align 2, 0 -_080E6A18: - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A50 -_080E6A50: - ldrb r0, [r4, 0x8] - bl sub_80E9368 - b _080E6A66 -_080E6A58: - ldrb r0, [r4, 0x8] - bl sub_80E9368 - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - bl sub_80E8BF4 -_080E6A66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E69F8 - - thumb_func_start sub_80E6A6C -sub_80E6A6C: @ 80E6A6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80EAC5C - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - thumb_func_end sub_80E6A6C - - thumb_func_start sub_80E6A88 -sub_80E6A88: @ 80E6A88 - push {lr} - ldr r0, _080E6AA4 @ =gSharedMem + 0x1000 - ldr r0, [r0, 0x20] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl sub_80EAD08 - pop {r0} - bx r0 - .align 2, 0 -_080E6AA4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E6A88 - - thumb_func_start sub_80E6AA8 -sub_80E6AA8: @ 80E6AA8 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080E6ABA - ldr r0, _080E6AC0 @ =sub_80E6AC4 - bl sub_80E682C -_080E6ABA: - pop {r0} - bx r0 - .align 2, 0 -_080E6AC0: .4byte sub_80E6AC4 - thumb_func_end sub_80E6AA8 - - thumb_func_start sub_80E6AC4 -sub_80E6AC4: @ 80E6AC4 - push {lr} - bl sub_80E88F0 - movs r0, 0 - bl sub_80E8398 - movs r0, 0 - bl sub_80E91D4 - ldr r0, _080E6AE0 @ =sub_80E6AE4 - bl sub_80E682C - pop {r0} - bx r0 - .align 2, 0 -_080E6AE0: .4byte sub_80E6AE4 - thumb_func_end sub_80E6AC4 - - thumb_func_start sub_80E6AE4 -sub_80E6AE4: @ 80E6AE4 - push {r4,r5,lr} - bl sub_80E75D8 - ldr r4, _080E6B44 @ =gSharedMem + 0x1000 - adds r1, r4, 0 - adds r1, 0x87 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - beq _080E6AFE - movs r0, 0x5 - bl PlaySE -_080E6AFE: - ldr r2, _080E6B48 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _080E6BA4 - movs r0, 0x5 - bl PlaySE - adds r1, r4, 0 - adds r1, 0x86 - adds r0, r4, 0 - adds r0, 0x84 - ldrb r2, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E6B78 - adds r0, r4, 0 - adds r0, 0x85 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080E6B60 - cmp r0, 0x1 - bgt _080E6B4C - cmp r0, 0 - beq _080E6B52 - b _080E6BA4 - .align 2, 0 -_080E6B44: .4byte gSharedMem + 0x1000 -_080E6B48: .4byte gMain -_080E6B4C: - cmp r0, 0x2 - beq _080E6B6C - b _080E6BA4 -_080E6B52: - ldr r0, _080E6B5C @ =sub_80E6BC0 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B5C: .4byte sub_80E6BC0 -_080E6B60: - ldr r0, _080E6B68 @ =sub_80E6C84 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B68: .4byte sub_80E6C84 -_080E6B6C: - ldr r0, _080E6B74 @ =sub_80E6D7C - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B74: .4byte sub_80E6D7C -_080E6B78: - adds r0, r4, 0 - adds r0, 0x83 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x85 - adds r3, r0, 0 - muls r3, r2 - adds r0, r3, 0 - ldrb r1, [r1] - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x27 - strb r0, [r1] - bl sub_80E7574 - ldr r0, _080E6BA0 @ =sub_80E6F68 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6BA0: .4byte sub_80E6F68 -_080E6BA4: - ldrh r1, [r5, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E6BB4 - ldr r0, _080E6BBC @ =sub_80E6C84 - bl sub_80E682C -_080E6BB4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E6BBC: .4byte sub_80E6C84 - thumb_func_end sub_80E6AE4 - - thumb_func_start sub_80E6BC0 -sub_80E6BC0: @ 80E6BC0 - push {r4,lr} - ldr r4, _080E6BD4 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0x1 - beq _080E6C12 - cmp r0, 0x1 - bgt _080E6BD8 - cmp r0, 0 - beq _080E6BE2 - b _080E6C76 - .align 2, 0 -_080E6BD4: .4byte gSharedMem + 0x1000 -_080E6BD8: - cmp r0, 0x2 - beq _080E6C54 - cmp r0, 0x64 - beq _080E6C64 - b _080E6C76 -_080E6BE2: - movs r0, 0x2 - bl sub_80E8398 - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - bne _080E6BFA - movs r0, 0x6 - bl sub_80E91D4 - movs r0, 0x64 - strh r0, [r4, 0x24] - b _080E6C76 -_080E6BFA: - movs r0, 0x2 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor - b _080E6C3E -_080E6C12: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6C32 - cmp r1, 0 - bgt _080E6C2C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E6C46 - b _080E6C76 -_080E6C2C: - cmp r1, 0x1 - beq _080E6C46 - b _080E6C76 -_080E6C32: - bl sub_80E7D6C - bl sub_80E98C4 - bl sub_80E95A4 -_080E6C3E: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6C76 -_080E6C46: - ldr r1, _080E6C50 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E6C76 - .align 2, 0 -_080E6C50: .4byte gSharedMem + 0x1000 -_080E6C54: - bl sub_80E81FC - ldr r0, _080E6C60 @ =sub_80E6AC4 - bl sub_80E682C - b _080E6C76 - .align 2, 0 -_080E6C60: .4byte sub_80E6AC4 -_080E6C64: - ldr r0, _080E6C7C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080E6C76 - ldr r0, _080E6C80 @ =sub_80E6AC4 - bl sub_80E682C -_080E6C76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6C7C: .4byte gMain -_080E6C80: .4byte sub_80E6AC4 - thumb_func_end sub_80E6BC0 - - thumb_func_start sub_80E6C84 -sub_80E6C84: @ 80E6C84 - push {r4,lr} - ldr r4, _080E6C98 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0x1 - beq _080E6CF4 - cmp r0, 0x1 - bgt _080E6C9C - cmp r0, 0 - beq _080E6CA6 - b _080E6D72 - .align 2, 0 -_080E6C98: .4byte gSharedMem + 0x1000 -_080E6C9C: - cmp r0, 0x2 - beq _080E6D24 - cmp r0, 0xFF - beq _080E6D64 - b _080E6D72 -_080E6CA6: - movs r0, 0x2 - bl sub_80E8398 - movs r0, 0x3 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor - ldrb r0, [r4, 0x8] - cmp r0, 0x9 - beq _080E6CE8 - cmp r0, 0x4 - beq _080E6CE8 - cmp r0, 0x7 - beq _080E6CE8 - cmp r0, 0x8 - beq _080E6CE8 - cmp r0, 0xA - beq _080E6CE8 - cmp r0, 0xB - beq _080E6CE8 - cmp r0, 0xC - beq _080E6CE8 - cmp r0, 0x5 - beq _080E6CE8 - cmp r0, 0xD - bne _080E6D1C -_080E6CE8: - ldr r1, _080E6CF0 @ =gSharedMem + 0x1000 - movs r0, 0x2 - strh r0, [r1, 0x24] - b _080E6D72 - .align 2, 0 -_080E6CF0: .4byte gSharedMem + 0x1000 -_080E6CF4: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6D06 - cmp r1, 0 - ble _080E6D34 - b _080E6D3E -_080E6D06: - movs r0, 0x4 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor -_080E6D1C: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6D72 -_080E6D24: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6D44 - cmp r1, 0 - bgt _080E6D3E -_080E6D34: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E6D58 - b _080E6D72 -_080E6D3E: - cmp r1, 0x1 - beq _080E6D58 - b _080E6D72 -_080E6D44: - ldr r0, _080E6D50 @ =gSpecialVar_Result - strh r1, [r0] - ldr r0, _080E6D54 @ =sub_80E752C - bl sub_80E682C - b _080E6D72 - .align 2, 0 -_080E6D50: .4byte gSpecialVar_Result -_080E6D54: .4byte sub_80E752C -_080E6D58: - ldr r1, _080E6D60 @ =gSharedMem + 0x1000 - movs r0, 0xFF - strh r0, [r1, 0x24] - b _080E6D72 - .align 2, 0 -_080E6D60: .4byte gSharedMem + 0x1000 -_080E6D64: - bl HandleDestroyMenuCursors - bl sub_80E81FC - ldr r0, _080E6D78 @ =sub_80E6AC4 - bl sub_80E682C -_080E6D72: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6D78: .4byte sub_80E6AC4 - thumb_func_end sub_80E6C84 - - thumb_func_start sub_80E6D7C -sub_80E6D7C: @ 80E6D7C - push {r4-r7,lr} - ldr r5, _080E6D98 @ =gSharedMem + 0x1000 - ldrh r0, [r5, 0x24] - cmp r0, 0xA - bne _080E6D88 - b _080E6F06 -_080E6D88: - cmp r0, 0xA - bgt _080E6D9C - cmp r0, 0 - beq _080E6DB6 - cmp r0, 0x1 - beq _080E6E3C - b _080E6F5E - .align 2, 0 -_080E6D98: .4byte gSharedMem + 0x1000 -_080E6D9C: - cmp r0, 0x65 - bne _080E6DA2 - b _080E6F30 -_080E6DA2: - cmp r0, 0x65 - bgt _080E6DAE - cmp r0, 0x64 - bne _080E6DAC - b _080E6F24 -_080E6DAC: - b _080E6F5E -_080E6DAE: - cmp r0, 0x66 - bne _080E6DB4 - b _080E6F50 -_080E6DB4: - b _080E6F5E -_080E6DB6: - movs r0, 0x2 - bl sub_80E8398 - bl sub_80E8054 - lsls r0, 24 - cmp r0, 0 - beq _080E6DCA - movs r0, 0x5 - b _080E6DEE -_080E6DCA: - ldrb r0, [r5, 0x8] - cmp r0, 0x9 - bne _080E6DFC - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - bne _080E6DDE - movs r0, 0x8 - b _080E6DEE -_080E6DDE: - ldrh r0, [r5, 0xC] - ldr r1, _080E6DF8 @ =0x0000ffff - cmp r0, r1 - beq _080E6DEC - ldrh r0, [r5, 0xE] - cmp r0, r1 - bne _080E6DFC -_080E6DEC: - movs r0, 0x9 -_080E6DEE: - bl sub_80E91D4 - movs r0, 0xA - strh r0, [r5, 0x24] - b _080E6F5E - .align 2, 0 -_080E6DF8: .4byte 0x0000ffff -_080E6DFC: - ldr r0, _080E6E18 @ =gSharedMem + 0x1000 - ldrb r0, [r0, 0x8] - cmp r0, 0x4 - bne _080E6E20 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - bne _080E6E20 - ldr r0, _080E6E1C @ =sub_80E6C84 - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6E18: .4byte gSharedMem + 0x1000 -_080E6E1C: .4byte sub_80E6C84 -_080E6E20: - movs r0, 0x1 - bl sub_80E91D4 - bl sub_80E9744 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0 - bl MoveMenuCursor - b _080E6F3C -_080E6E3C: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r6, r0, 24 - cmp r6, 0 - beq _080E6E5C - cmp r6, 0 - bgt _080E6E56 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _080E6EDC - b _080E6F5E -_080E6E56: - cmp r6, 0x1 - beq _080E6EDC - b _080E6F5E -_080E6E5C: - ldr r7, _080E6EC8 @ =gSpecialVar_Result - bl sub_80E7FA8 - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - lsrs r0, 31 - strh r0, [r7] - bl sub_80E7D9C - ldrb r0, [r5, 0x8] - cmp r0, 0 - bne _080E6E82 - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - bl sub_80E8094 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6E82: - ldrb r0, [r5, 0x8] - cmp r0, 0x9 - bne _080E6E9C - bl sub_80E81C0 - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - ldr r1, _080E6ED0 @ =0x00009fa8 - adds r0, r5, r1 - bl sub_80FA364 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6E9C: - ldrb r0, [r5, 0x8] - cmp r0, 0xD - bne _080E6EBE - ldrh r0, [r5, 0xC] - ldr r1, _080E6ED4 @ =0x0000ffff - cmp r0, r1 - beq _080E6EB0 - ldrh r0, [r5, 0xE] - cmp r0, r1 - bne _080E6EB2 -_080E6EB0: - strh r6, [r7] -_080E6EB2: - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - bl sub_80E810C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6EBE: - ldr r0, _080E6ED8 @ =sub_80E752C - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6EC8: .4byte gSpecialVar_Result -_080E6ECC: .4byte gSpecialVar_0x8004 -_080E6ED0: .4byte 0x00009fa8 -_080E6ED4: .4byte 0x0000ffff -_080E6ED8: .4byte sub_80E752C -_080E6EDC: - bl HandleDestroyMenuCursors - bl sub_80E81FC - ldr r4, _080E6EFC @ =gSharedMem + 0x1000 - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - bne _080E6F00 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - beq _080E6F00 - movs r0, 0x64 - strh r0, [r4, 0x24] - b _080E6F5E - .align 2, 0 -_080E6EFC: .4byte gSharedMem + 0x1000 -_080E6F00: - bl sub_80E95A4 - b _080E6F12 -_080E6F06: - ldr r0, _080E6F1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080E6F5E -_080E6F12: - ldr r0, _080E6F20 @ =sub_80E6AC4 - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6F1C: .4byte gMain -_080E6F20: .4byte sub_80E6AC4 -_080E6F24: - movs r0, 0x7 - bl sub_80E91D4 - ldrh r0, [r5, 0x24] - adds r0, 0x1 - strh r0, [r5, 0x24] -_080E6F30: - ldr r0, _080E6F48 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E6F5E -_080E6F3C: - ldr r1, _080E6F4C @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E6F5E - .align 2, 0 -_080E6F48: .4byte gMain -_080E6F4C: .4byte gSharedMem + 0x1000 -_080E6F50: - bl sub_80E7E50 - bl sub_80E95A4 - ldr r0, _080E6F64 @ =sub_80E6AC4 - bl sub_80E682C -_080E6F5E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E6F64: .4byte sub_80E6AC4 - thumb_func_end sub_80E6D7C - - thumb_func_start sub_80E6F68 -sub_80E6F68: @ 80E6F68 - push {r4,lr} - ldr r4, _080E6F78 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0 - beq _080E6F7C - cmp r0, 0x1 - beq _080E6F9C - b _080E6FBC - .align 2, 0 -_080E6F78: .4byte gSharedMem + 0x1000 -_080E6F7C: - movs r0, 0x1 - bl sub_80E8398 - movs r0, 0xA - bl sub_80E91D4 - bl sub_80E683C - bl sub_80E9974 - bl sub_80E9E98 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6FBC -_080E6F9C: - bl sub_80E9EA8 - lsls r0, 24 - cmp r0, 0 - beq _080E6FBC - movs r0, 0x1 - bl sub_80E8D8C - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 - ldr r0, _080E6FC4 @ =sub_80E6FC8 - bl sub_80E682C -_080E6FBC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6FC4: .4byte sub_80E6FC8 - thumb_func_end sub_80E6F68 - - thumb_func_start sub_80E6FC8 -sub_80E6FC8: @ 80E6FC8 - push {r4,lr} - bl sub_80E77C8 - adds r1, r0, 0 - ldr r4, _080E7000 @ =gSharedMem + 0x1000 - adds r0, r4, 0 - adds r0, 0x96 - strb r1, [r0] - movs r2, 0xE0 - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E700C - movs r0, 0x5 - bl PlaySE - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, _080E7004 @ =sub_80E6FC8 - str r1, [r0] - ldr r0, _080E7008 @ =sub_80E7458 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E7000: .4byte gSharedMem + 0x1000 -_080E7004: .4byte sub_80E6FC8 -_080E7008: .4byte sub_80E7458 -_080E700C: - lsls r0, r1, 24 - cmp r0, 0 - beq _080E7018 - movs r0, 0x5 - bl PlaySE -_080E7018: - ldr r0, _080E7054 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E70E8 - ldr r2, _080E7058 @ =0x000001b7 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7090 - movs r0, 0x5 - bl PlaySE - movs r1, 0xD4 - lsls r1, 1 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - beq _080E7070 - cmp r0, 0x2 - bgt _080E705C - cmp r0, 0x1 - beq _080E7062 - b _080E710A - .align 2, 0 -_080E7054: .4byte gMain -_080E7058: .4byte 0x000001b7 -_080E705C: - cmp r0, 0x3 - beq _080E70F0 - b _080E710A -_080E7062: - ldr r0, _080E706C @ =sub_80E718C - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E706C: .4byte sub_80E718C -_080E7070: - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - beq _080E710A - adds r0, r4, 0 - adds r0, 0x27 - ldrb r0, [r0] - ldr r1, _080E708C @ =0x0000ffff - bl sub_80E7F00 - bl sub_80E7574 - bl sub_80E95A4 - b _080E710A - .align 2, 0 -_080E708C: .4byte 0x0000ffff -_080E7090: - adds r0, r4, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - beq _080E70CA - ldr r2, _080E70DC @ =0x000001a9 - adds r0, r4, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r4, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - adds r2, r0 - adds r0, r4, 0 - adds r0, 0x40 - adds r2, r0 - ldrb r0, [r2] - lsls r0, 1 - ldr r2, _080E70E0 @ =0x0000446c - adds r1, r4, r2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080E710A -_080E70CA: - movs r0, 0x5 - bl PlaySE - bl sub_80E7AD4 - ldr r0, _080E70E4 @ =sub_80E7218 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E70DC: .4byte 0x000001a9 -_080E70E0: .4byte 0x0000446c -_080E70E4: .4byte sub_80E7218 -_080E70E8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E70FC -_080E70F0: - ldr r0, _080E70F8 @ =sub_80E7114 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E70F8: .4byte sub_80E7114 -_080E70FC: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E710A - ldr r0, _080E7110 @ =sub_80E718C - bl sub_80E682C -_080E710A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7110: .4byte sub_80E718C - thumb_func_end sub_80E6FC8 - - thumb_func_start sub_80E7114 -sub_80E7114: @ 80E7114 - push {lr} - ldr r0, _080E712C @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E7182 - lsls r0, r1, 2 - ldr r1, _080E7130 @ =_080E7134 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E712C: .4byte gSharedMem + 0x1000 -_080E7130: .4byte _080E7134 - .align 2, 0 -_080E7134: - .4byte _080E7148 - .4byte _080E715C - .4byte _080E715C - .4byte _080E7164 - .4byte _080E717C -_080E7148: - bl sub_80E8504 - bl sub_80E9E98 - bl sub_80E88F0 - movs r0, 0 - bl sub_80E8D8C - b _080E716E -_080E715C: - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - b _080E7182 -_080E7164: - bl sub_80E9F50 - lsls r0, 24 - cmp r0, 0 - beq _080E7182 -_080E716E: - ldr r1, _080E7178 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E7182 - .align 2, 0 -_080E7178: .4byte gSharedMem + 0x1000 -_080E717C: - ldr r0, _080E7188 @ =sub_80E6AC4 - bl sub_80E682C -_080E7182: - pop {r0} - bx r0 - .align 2, 0 -_080E7188: .4byte sub_80E6AC4 - thumb_func_end sub_80E7114 - - thumb_func_start sub_80E718C -sub_80E718C: @ 80E718C - push {r4,lr} - ldr r0, _080E71A4 @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r4, r0, 0 - cmp r1, 0x1 - beq _080E71C6 - cmp r1, 0x1 - bgt _080E71A8 - cmp r1, 0 - beq _080E71AE - b _080E71EC - .align 2, 0 -_080E71A4: .4byte gSharedMem + 0x1000 -_080E71A8: - cmp r1, 0x8 - beq _080E71F4 - b _080E71EC -_080E71AE: - bl sub_80E8504 - bl sub_80E9E98 - bl sub_80E88F0 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - bl sub_80E8D54 - b _080E720E -_080E71C6: - bl sub_80E9FD4 - lsls r0, 24 - cmp r0, 0 - beq _080E720E - movs r2, 0 - adds r1, r4, 0 - adds r1, 0x26 - ldrb r0, [r1] - cmp r0, 0 - bne _080E71DE - movs r2, 0x1 -_080E71DE: - strb r2, [r1] - bl sub_80E683C - bl sub_80E9974 - bl sub_80E9E98 -_080E71EC: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E720E -_080E71F4: - bl sub_80EA014 - lsls r0, 24 - cmp r0, 0 - beq _080E720E - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 - ldr r0, _080E7214 @ =sub_80E6FC8 - bl sub_80E682C -_080E720E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7214: .4byte sub_80E6FC8 - thumb_func_end sub_80E718C - - thumb_func_start sub_80E7218 -sub_80E7218: @ 80E7218 - push {r4,lr} - ldr r4, _080E7230 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - adds r1, r4, 0 - cmp r0, 0x9 - beq _080E7260 - cmp r0, 0x9 - bgt _080E7234 - cmp r0, 0x8 - beq _080E7244 - b _080E723C - .align 2, 0 -_080E7230: .4byte gSharedMem + 0x1000 -_080E7234: - cmp r0, 0xA - beq _080E7276 - cmp r0, 0xB - beq _080E7288 -_080E723C: - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E7288 -_080E7244: - movs r0, 0 - bl sub_80E8D8C - bl sub_80E8504 - bl sub_80E9AD4 - bl sub_80E68E8 - bl sub_80E88F0 - bl sub_80E9E98 - b _080E726E -_080E7260: - bl sub_80EA050 - lsls r0, 24 - cmp r0, 0 - beq _080E7288 - bl sub_80E9C94 -_080E726E: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E7288 -_080E7276: - movs r0, 0x1 - bl sub_80E87CC - movs r0, 0x1 - bl sub_80E8958 - ldr r0, _080E7290 @ =sub_80E7294 - bl sub_80E682C -_080E7288: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7290: .4byte sub_80E7294 - thumb_func_end sub_80E7218 - - thumb_func_start sub_80E7294 -sub_80E7294: @ 80E7294 - push {r4,lr} - bl sub_80E7B40 - adds r1, r0, 0 - ldr r4, _080E72CC @ =gSharedMem + 0x1000 - ldr r2, _080E72D0 @ =0x000001b9 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x7 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E72DC - movs r0, 0x5 - bl PlaySE - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, _080E72D4 @ =sub_80E7294 - str r1, [r0] - ldr r0, _080E72D8 @ =sub_80E7458 - bl sub_80E682C - b _080E731A - .align 2, 0 -_080E72CC: .4byte gSharedMem + 0x1000 -_080E72D0: .4byte 0x000001b9 -_080E72D4: .4byte sub_80E7294 -_080E72D8: .4byte sub_80E7458 -_080E72DC: - lsls r0, r1, 24 - cmp r0, 0 - beq _080E72E8 - movs r0, 0x5 - bl PlaySE -_080E72E8: - ldr r0, _080E7304 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E730C - movs r0, 0x5 - bl PlaySE - ldr r0, _080E7308 @ =sub_80E7324 - bl sub_80E682C - b _080E731A - .align 2, 0 -_080E7304: .4byte gMain -_080E7308: .4byte sub_80E7324 -_080E730C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E731A - ldr r0, _080E7320 @ =sub_80E73D0 - bl sub_80E682C -_080E731A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7320: .4byte sub_80E73D0 - thumb_func_end sub_80E7294 - - thumb_func_start sub_80E7324 -sub_80E7324: @ 80E7324 - push {lr} - ldr r0, _080E733C @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E73C6 - lsls r0, r1, 2 - ldr r1, _080E7340 @ =_080E7344 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E733C: .4byte gSharedMem + 0x1000 -_080E7340: .4byte _080E7344 - .align 2, 0 -_080E7344: - .4byte _080E7358 - .4byte _080E737C - .4byte _080E7384 - .4byte _080E738A - .4byte _080E73A4 -_080E7358: - bl sub_80E7DD0 - lsls r0, 24 - cmp r0, 0 - bne _080E7370 - ldr r0, _080E736C @ =sub_80E7294 - bl sub_80E682C - b _080E73C6 - .align 2, 0 -_080E736C: .4byte sub_80E7294 -_080E7370: - bl sub_80E88F0 - movs r0, 0 - bl sub_80E87CC - b _080E7394 -_080E737C: - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - b _080E73C6 -_080E7384: - bl sub_80E9E98 - b _080E7394 -_080E738A: - bl sub_80EA184 - lsls r0, 24 - cmp r0, 0 - beq _080E73C6 -_080E7394: - ldr r1, _080E73A0 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E73C6 - .align 2, 0 -_080E73A0: .4byte gSharedMem + 0x1000 -_080E73A4: - ldrb r0, [r2, 0x8] - cmp r0, 0x6 - bne _080E73C0 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - beq _080E73C0 - ldr r0, _080E73BC @ =sub_80E6D7C - bl sub_80E682C - b _080E73C6 - .align 2, 0 -_080E73BC: .4byte sub_80E6D7C -_080E73C0: - ldr r0, _080E73CC @ =sub_80E6AC4 - bl sub_80E682C -_080E73C6: - pop {r0} - bx r0 - .align 2, 0 -_080E73CC: .4byte sub_80E6AC4 - thumb_func_end sub_80E7324 - - thumb_func_start sub_80E73D0 -sub_80E73D0: @ 80E73D0 - push {lr} - ldr r0, _080E73E4 @ =gSharedMem + 0x1000 - ldrh r0, [r0, 0x24] - cmp r0, 0x4 - bhi _080E744E - lsls r0, 2 - ldr r1, _080E73E8 @ =_080E73EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E73E4: .4byte gSharedMem + 0x1000 -_080E73E8: .4byte _080E73EC - .align 2, 0 -_080E73EC: - .4byte _080E7400 - .4byte _080E740C - .4byte _080E7416 - .4byte _080E742C - .4byte _080E7444 -_080E7400: - movs r0, 0 - bl sub_80E87CC - bl sub_80E88F0 - b _080E7436 -_080E740C: - bl sub_80E9AD4 - bl sub_80E9E98 - b _080E7436 -_080E7416: - bl sub_80EA0E4 - lsls r0, 24 - cmp r0, 0 - beq _080E744E - movs r0, 0x1 - bl sub_80E8D8C - bl sub_80E9A14 - b _080E7436 -_080E742C: - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 -_080E7436: - ldr r1, _080E7440 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E744E - .align 2, 0 -_080E7440: .4byte gSharedMem + 0x1000 -_080E7444: - bl sub_80E9974 - ldr r0, _080E7454 @ =sub_80E6FC8 - bl sub_80E682C -_080E744E: - pop {r0} - bx r0 - .align 2, 0 -_080E7454: .4byte sub_80E6FC8 - thumb_func_end sub_80E73D0 - - thumb_func_start sub_80E7458 -sub_80E7458: @ 80E7458 - push {r4,r5,lr} - ldr r4, _080E7468 @ =gSharedMem + 0x1000 - ldrh r5, [r4, 0x24] - cmp r5, 0 - beq _080E746C - cmp r5, 0x1 - beq _080E74A4 - b _080E7518 - .align 2, 0 -_080E7468: .4byte gSharedMem + 0x1000 -_080E746C: - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - ldr r0, _080E7480 @ =sub_80E6FC8 - cmp r1, r0 - bne _080E7484 - bl sub_80E9D7C - b _080E7488 - .align 2, 0 -_080E7480: .4byte sub_80E6FC8 -_080E7484: - bl sub_80E9D00 -_080E7488: - ldr r4, _080E74A0 @ =gSharedMem + 0x1000 - movs r2, 0xDF - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - bl sub_80E9E08 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E7518 - .align 2, 0 -_080E74A0: .4byte gSharedMem + 0x1000 -_080E74A4: - bl sub_80E9E54 - lsls r0, 24 - cmp r0, 0 - beq _080E7518 - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - ldr r0, _080E74DC @ =sub_80E6FC8 - cmp r1, r0 - bne _080E74E4 - bl sub_80E9D7C - ldr r2, _080E74E0 @ =0x000001b5 - adds r1, r4, r2 - adds r2, 0xB - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - bl sub_80E7A98 - adds r0, r4, 0 - adds r0, 0x96 - b _080E74FE - .align 2, 0 -_080E74DC: .4byte sub_80E6FC8 -_080E74E0: .4byte 0x000001b5 -_080E74E4: - ldr r0, _080E7520 @ =0x00009d55 - adds r1, r4, r0 - movs r2, 0xE0 - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - bl sub_80E7D30 - ldr r1, _080E7524 @ =0x000001b9 - adds r0, r4, r1 -_080E74FE: - strb r5, [r0] - ldr r1, _080E7528 @ =gSharedMem + 0x1000 - movs r0, 0xDF - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0x2 - strb r0, [r2] - movs r2, 0xE2 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - bl sub_80E682C -_080E7518: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7520: .4byte 0x00009d55 -_080E7524: .4byte 0x000001b9 -_080E7528: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7458 - - thumb_func_start sub_80E752C -sub_80E752C: @ 80E752C - push {r4,lr} - sub sp, 0x4 - ldr r4, _080E7540 @ =gSharedMem + 0x1000 - ldrh r1, [r4, 0x24] - cmp r1, 0 - beq _080E7544 - cmp r1, 0x1 - beq _080E755C - b _080E756C - .align 2, 0 -_080E7540: .4byte gSharedMem + 0x1000 -_080E7544: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E756C -_080E755C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080E756C - ldr r0, [r4] - bl SetMainCallback2 -_080E756C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E752C - - thumb_func_start sub_80E7574 -sub_80E7574: @ 80E7574 - push {r4,r5,lr} - ldr r4, _080E75B8 @ =gSharedMem + 0x1000 - ldrb r5, [r4, 0x8] - cmp r5, 0x1 - bne _080E75BC - adds r0, r4, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r4, 0 - adds r1, 0x7E - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080E75BC - adds r0, r4, 0 - adds r0, 0x27 - ldrb r0, [r0] - lsls r0, 1 - subs r1, 0x72 - adds r0, r1 - ldrh r0, [r0] - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - beq _080E75BC - adds r0, r4, 0 - adds r0, 0x7D - strb r5, [r0] - adds r1, r4, 0 - b _080E75C6 - .align 2, 0 -_080E75B8: .4byte gSharedMem + 0x1000 -_080E75BC: - ldr r1, _080E75D4 @ =gSharedMem + 0x1000 - adds r2, r1, 0 - adds r2, 0x7D - movs r0, 0 - strb r0, [r2] -_080E75C6: - adds r1, 0x7D - movs r0, 0 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E75D4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7574 - - thumb_func_start sub_80E75D8 -sub_80E75D8: @ 80E75D8 - push {r4-r6,lr} - movs r4, 0 - ldr r2, _080E75FC @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E7604 - ldr r1, _080E7600 @ =gSharedMem + 0x1000 - adds r0, r1, 0 - adds r0, 0x84 - ldrb r0, [r0] - adds r2, r1, 0 - adds r2, 0x86 - strb r0, [r2] - adds r1, 0x85 - movs r0, 0x2 - b _080E768E - .align 2, 0 -_080E75FC: .4byte gMain -_080E7600: .4byte gSharedMem + 0x1000 -_080E7604: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080E7630 - ldr r2, _080E762C @ =gSharedMem + 0x1000 - adds r1, r2, 0 - adds r1, 0x86 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080E765C - adds r0, r2, 0 - adds r0, 0x84 - ldrb r0, [r0] - strb r0, [r1] - b _080E765C - .align 2, 0 -_080E762C: .4byte gSharedMem + 0x1000 -_080E7630: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E7658 - ldr r0, _080E7684 @ =gSharedMem + 0x1000 - adds r3, r0, 0 - adds r3, 0x86 - ldrb r1, [r3] - adds r1, 0x1 - strb r1, [r3] - adds r0, 0x84 - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - ble _080E7656 - strb r4, [r3] -_080E7656: - movs r4, 0x1 -_080E7658: - cmp r4, 0 - beq _080E76EA -_080E765C: - ldr r2, _080E7684 @ =gSharedMem + 0x1000 - ldrb r3, [r2, 0x9] - cmp r3, 0x2 - bne _080E7692 - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E7688 - adds r0, r2, 0 - adds r0, 0x85 - strb r3, [r0] - b _080E77BC - .align 2, 0 -_080E7684: .4byte gSharedMem + 0x1000 -_080E7688: - adds r1, r2, 0 - adds r1, 0x85 - movs r0, 0 -_080E768E: - strb r0, [r1] - b _080E77BC -_080E7692: - movs r0, 0x85 - adds r0, r2 - mov r12, r0 - adds r4, r2, 0 - adds r4, 0x83 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrb r3, [r4] - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r1, r0 - blt _080E76B0 - subs r0, r3, 0x1 - mov r1, r12 - strb r0, [r1] -_080E76B0: - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r3, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080E77BC - ldrb r0, [r4] - adds r4, r0, 0 - muls r4, r3 - adds r0, r4, 0 - mov r5, r12 - ldrb r5, [r5] - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2, 0xA] - cmp r0, r1 - bcc _080E77BC - subs r0, r1 - mov r6, r12 - strb r0, [r6] - b _080E77BC -_080E76EA: - ldrh r2, [r2, 0x30] - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080E7744 - ldr r2, _080E7728 @ =gSharedMem + 0x1000 - adds r3, r2, 0 - adds r3, 0x85 - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] - lsls r0, 24 - cmp r0, 0 - bge _080E77BC - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r4, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E772C - movs r0, 0x2 - b _080E77BA - .align 2, 0 -_080E7728: .4byte gSharedMem + 0x1000 -_080E772C: - adds r0, r2, 0 - adds r0, 0x83 - ldrb r0, [r0] - subs r1, r0, 0x1 - strb r1, [r3] - adds r5, r4, 0 - muls r5, r0 - adds r0, r5, 0 - adds r1, r0 - lsls r1, 24 - lsrs r0, r1, 24 - b _080E77B2 -_080E7744: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _080E77C0 - ldr r2, _080E777C @ =gSharedMem + 0x1000 - adds r5, r2, 0 - adds r5, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - movs r1, 0 - ldrsb r1, [r5, r1] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E7780 - adds r1, r2, 0 - adds r1, 0x85 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - ble _080E77BC - strb r4, [r1] - b _080E77BC - .align 2, 0 -_080E777C: .4byte gSharedMem + 0x1000 -_080E7780: - adds r3, r2, 0 - adds r3, 0x85 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - movs r6, 0x83 - adds r6, r2 - mov r12, r6 - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r6, r1] - cmp r0, r1 - blt _080E779E - strb r4, [r3] -_080E779E: - ldrb r1, [r5] - mov r4, r12 - ldrb r0, [r4] - adds r5, r0, 0 - muls r5, r1 - adds r0, r5, 0 - ldrb r6, [r3] - adds r0, r6 - lsls r0, 24 - lsrs r0, 24 -_080E77B2: - ldrb r1, [r2, 0xA] - cmp r0, r1 - bcc _080E77BC - subs r0, r1 -_080E77BA: - strb r0, [r3] -_080E77BC: - movs r0, 0x1 - b _080E77C2 -_080E77C0: - movs r0, 0 -_080E77C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E75D8 - - thumb_func_start sub_80E77C8 -sub_80E77C8: @ 80E77C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r1, _080E780C @ =gSharedMem + 0x1000 - ldr r2, _080E7810 @ =0x000001b7 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r3, r1, 0 - cmp r0, 0 - beq _080E783E - ldr r1, _080E7814 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E7818 - movs r4, 0xD4 - lsls r4, 1 - adds r1, r3, r4 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - ble _080E7806 - b _080E7948 -_080E7806: - movs r0, 0x3 - strb r0, [r1] - b _080E7948 - .align 2, 0 -_080E780C: .4byte gSharedMem + 0x1000 -_080E7810: .4byte 0x000001b7 -_080E7814: .4byte gMain -_080E7818: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - bne _080E7822 - b _080E7950 -_080E7822: - movs r5, 0xD4 - lsls r5, 1 - adds r1, r3, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bgt _080E7838 - b _080E7948 -_080E7838: - movs r0, 0x1 - strb r0, [r1] - b _080E7948 -_080E783E: - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E789A - movs r4, 0 - ldr r1, _080E7870 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E7874 - movs r6, 0xD4 - lsls r6, 1 - adds r1, r3, r6 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080E7944 - movs r0, 0x3 - strb r0, [r1] - b _080E7944 - .align 2, 0 -_080E7870: .4byte gMain -_080E7874: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080E7894 - movs r0, 0xD4 - lsls r0, 1 - adds r1, r3, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E7892 - strb r7, [r1] -_080E7892: - movs r4, 0x1 -_080E7894: - cmp r4, 0 - beq _080E7950 - b _080E7944 -_080E789A: - movs r4, 0 - movs r1, 0xE0 - lsls r1, 1 - adds r5, r3, r1 - strb r7, [r5] - ldr r1, _080E78E0 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E78E8 - movs r2, 0xD4 - lsls r2, 1 - adds r1, r3, r2 - ldrb r2, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _080E78C4 - b _080E7A88 -_080E78C4: - subs r0, r2, 0x1 - strb r0, [r1] - ldr r4, _080E78E4 @ =0x000001b5 - adds r1, r3, r4 - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - bge _080E7932 - movs r0, 0xFF - strb r0, [r5] - b _080E7932 - .align 2, 0 -_080E78E0: .4byte gMain -_080E78E4: .4byte 0x000001b5 -_080E78E8: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080E792E - movs r0, 0xD4 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r4, 0xDB - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, 0x1 - cmp r1, r0 - blt _080E790E - b _080E7A88 -_080E790E: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r2, _080E794C @ =0x000001b5 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x3 - cmp r1, r0 - ble _080E792C - movs r0, 0x1 - strb r0, [r5] -_080E792C: - movs r4, 0x1 -_080E792E: - cmp r4, 0 - beq _080E7950 -_080E7932: - movs r4, 0xE0 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7944 - b _080E7A88 -_080E7944: - bl sub_80E7A98 -_080E7948: - movs r0, 0x1 - b _080E7A8A - .align 2, 0 -_080E794C: .4byte 0x000001b5 -_080E7950: - ldrh r1, [r6, 0x30] - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080E7992 - ldr r5, _080E7974 @ =0x000001a9 - adds r2, r3, r5 - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080E7978 - subs r0, r1, 0x1 - strb r0, [r2] - b _080E79E6 - .align 2, 0 -_080E7974: .4byte 0x000001a9 -_080E7978: - movs r6, 0xD4 - lsls r6, 1 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r4, 0xD5 - lsls r4, 1 - adds r1, r3, r4 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - b _080E79E6 -_080E7992: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E79E2 - ldr r5, _080E79D4 @ =0x000001b7 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E79CC - ldr r0, _080E79D8 @ =0x000001a9 - adds r4, r3, r0 - movs r1, 0xD4 - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0xD5 - lsls r2, 1 - adds r0, r3, r2 - adds r1, r0 - ldrb r5, [r4] - movs r2, 0 - ldrsb r2, [r4, r2] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - bne _080E79DC -_080E79CC: - ldr r4, _080E79D8 @ =0x000001a9 - adds r0, r3, r4 - strb r6, [r0] - b _080E79E0 - .align 2, 0 -_080E79D4: .4byte 0x000001b7 -_080E79D8: .4byte 0x000001a9 -_080E79DC: - adds r0, r5, 0x1 - strb r0, [r4] -_080E79E0: - movs r7, 0x1 -_080E79E2: - cmp r7, 0 - beq _080E7A88 -_080E79E6: - adds r2, r3, 0 - ldr r5, _080E7A48 @ =0x000001b7 - adds r7, r2, r5 - ldrb r6, [r7] - mov r9, r6 - movs r1, 0 - ldr r0, _080E7A4C @ =0x000001a9 - adds r0, r2 - mov r12, r0 - subs r5, 0xF - adds r4, r2, r5 - movs r0, 0 - ldrsb r0, [r4, r0] - movs r6, 0xD5 - lsls r6, 1 - adds r6, r2 - mov r8, r6 - add r0, r8 - mov r6, r12 - movs r5, 0 - ldrsb r5, [r6, r5] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _080E7A1C - movs r1, 0x1 -_080E7A1C: - strb r1, [r7] - cmp r1, 0 - beq _080E7A58 - ldr r0, _080E7A50 @ =0x000001b5 - adds r1, r2, r0 - ldrb r0, [r4] - ldrb r1, [r1] - subs r0, r1 - strb r0, [r4] - lsls r0, 24 - cmp r0, 0 - beq _080E7A36 - b _080E7948 -_080E7A36: - movs r0, 0x1 - strb r0, [r4] - ldr r1, _080E7A54 @ =0x000001ab - adds r0, r2, r1 - ldrb r0, [r0] - mov r2, r12 - strb r0, [r2] - b _080E7948 - .align 2, 0 -_080E7A48: .4byte 0x000001b7 -_080E7A4C: .4byte 0x000001a9 -_080E7A50: .4byte 0x000001b5 -_080E7A54: .4byte 0x000001ab -_080E7A58: - mov r6, r9 - cmp r6, 0 - bne _080E7A60 - b _080E7948 -_080E7A60: - ldr r1, _080E7A84 @ =0x000001b5 - adds r0, r3, r1 - ldrb r0, [r0] - ldrb r2, [r4] - adds r0, r2 - strb r0, [r4] - cmp r5, 0 - bne _080E7A72 - b _080E7948 -_080E7A72: - movs r0, 0 - ldrsb r0, [r4, r0] - add r0, r8 - ldrb r0, [r0] - subs r0, 0x1 - mov r4, r12 - strb r0, [r4] - b _080E7948 - .align 2, 0 -_080E7A84: .4byte 0x000001b5 -_080E7A88: - movs r0, 0 -_080E7A8A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E77C8 - - thumb_func_start sub_80E7A98 -sub_80E7A98: @ 80E7A98 - push {lr} - ldr r1, _080E7ACC @ =gSharedMem + 0x1000 - ldr r0, _080E7AD0 @ =0x000001a9 - adds r3, r1, r0 - movs r2, 0xD4 - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r2, 0x2 - adds r1, r2 - adds r0, r1 - movs r1, 0 - ldrsb r1, [r3, r1] - ldrb r2, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - blt _080E7AC6 - subs r0, r2, 0x1 - strb r0, [r3] -_080E7AC6: - pop {r0} - bx r0 - .align 2, 0 -_080E7ACC: .4byte gSharedMem + 0x1000 -_080E7AD0: .4byte 0x000001a9 - thumb_func_end sub_80E7A98 - - thumb_func_start sub_80E7AD4 -sub_80E7AD4: @ 80E7AD4 - push {lr} - ldr r3, _080E7B08 @ =gSharedMem + 0x1000 - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E7B10 - ldr r1, _080E7B0C @ =0x000001a9 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0xD4 - lsls r2, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x2A - adds r1, r0 - ldrb r1, [r1] - adds r2, 0x10 - b _080E7B34 - .align 2, 0 -_080E7B08: .4byte gSharedMem + 0x1000 -_080E7B0C: .4byte 0x000001a9 -_080E7B10: - ldr r1, _080E7B3C @ =0x000001a9 - adds r0, r3, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - subs r1, 0x1 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - adds r2, r0 - adds r0, r3, 0 - adds r0, 0x40 - adds r2, r0 - ldrb r1, [r2] - movs r2, 0xDC - lsls r2, 1 -_080E7B34: - adds r0, r3, r2 - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080E7B3C: .4byte 0x000001a9 - thumb_func_end sub_80E7AD4 - - thumb_func_start sub_80E7B40 -sub_80E7B40: @ 80E7B40 - push {r4-r7,lr} - movs r5, 0 - ldr r2, _080E7B8C @ =gSharedMem + 0x1000 - movs r0, 0xE0 - lsls r0, 1 - adds r6, r2, r0 - strb r5, [r6] - ldr r1, _080E7B90 @ =gMain - ldrh r4, [r1, 0x30] - movs r0, 0x40 - ands r0, r4 - adds r3, r2, 0 - adds r7, r1, 0 - cmp r0, 0 - beq _080E7B9C - ldr r2, _080E7B94 @ =0x00009cd0 - adds r1, r3, r2 - ldrb r2, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _080E7B6E - b _080E7D1A -_080E7B6E: - subs r0, r2, 0x1 - strb r0, [r1] - ldr r4, _080E7B98 @ =0x00009d55 - adds r1, r3, r4 - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - bge _080E7BF2 - movs r0, 0xFF - strb r0, [r6] - b _080E7D1A - .align 2, 0 -_080E7B8C: .4byte gSharedMem + 0x1000 -_080E7B90: .4byte gMain -_080E7B94: .4byte 0x00009cd0 -_080E7B98: .4byte 0x00009d55 -_080E7B9C: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _080E7BEE - ldr r0, _080E7BE0 @ =0x00009cd0 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r4, _080E7BE4 @ =0x00009d54 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, 0x1 - cmp r1, r0 - blt _080E7BBE - b _080E7D1A -_080E7BBE: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r2, _080E7BE8 @ =0x00009d55 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 - cmp r1, r0 - blt _080E7BEC - movs r0, 0x1 - strb r0, [r6] - b _080E7D1A - .align 2, 0 -_080E7BE0: .4byte 0x00009cd0 -_080E7BE4: .4byte 0x00009d54 -_080E7BE8: .4byte 0x00009d55 -_080E7BEC: - movs r5, 0x1 -_080E7BEE: - cmp r5, 0 - beq _080E7BFA -_080E7BF2: - bl sub_80E7D30 -_080E7BF6: - movs r0, 0x1 - b _080E7D1C -_080E7BFA: - ldrh r1, [r7, 0x30] - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080E7C38 - ldr r4, _080E7C30 @ =0x00009cd1 - adds r2, r3, r4 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] - lsls r0, 24 - cmp r0, 0 - bge _080E7BF6 - ldr r6, _080E7C34 @ =0x00009cd0 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, 0x1 - adds r1, r3, r4 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - strb r0, [r2] - b _080E7BF6 - .align 2, 0 -_080E7C30: .4byte 0x00009cd1 -_080E7C34: .4byte 0x00009cd0 -_080E7C38: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E7C70 - ldr r6, _080E7C68 @ =0x00009cd1 - adds r4, r3, r6 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r2, _080E7C6C @ =0x00009cd0 - adds r1, r3, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - adds r6, 0x1 - adds r1, r3, r6 - adds r2, r1 - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r2, r1] - cmp r0, r1 - blt _080E7BF6 - strb r5, [r4] - b _080E7BF6 - .align 2, 0 -_080E7C68: .4byte 0x00009cd1 -_080E7C6C: .4byte 0x00009cd0 -_080E7C70: - ldrh r1, [r7, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E7CC4 - ldr r1, _080E7CBC @ =0x00009d55 - adds r0, r3, r1 - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7CA2 - negs r0, r1 - movs r4, 0xE0 - lsls r4, 1 - adds r2, r3, r4 - strb r0, [r2] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x4 - negs r1, r1 - cmp r0, r1 - bge _080E7CA2 - strb r1, [r2] -_080E7CA2: - ldr r6, _080E7CC0 @ =0x00009cd0 - adds r1, r3, r6 - movs r2, 0xE0 - lsls r2, 1 - adds r0, r3, r2 - ldrb r0, [r0] - ldrb r4, [r1] - adds r0, r4 - strb r0, [r1] - movs r6, 0xDF - lsls r6, 1 - adds r1, r3, r6 - b _080E7D16 - .align 2, 0 -_080E7CBC: .4byte 0x00009d55 -_080E7CC0: .4byte 0x00009cd0 -_080E7CC4: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E7D1A - ldr r0, _080E7D24 @ =0x00009d55 - adds r4, r3, r0 - movs r1, 0 - ldrsb r1, [r4, r1] - ldr r6, _080E7D28 @ =0x00009d54 - adds r2, r3, r6 - movs r0, 0 - ldrsb r0, [r2, r0] - subs r0, 0x4 - cmp r1, r0 - bge _080E7CFE - ldrb r1, [r4] - adds r1, 0x4 - ldrb r0, [r2] - subs r0, r1 - movs r2, 0xE0 - lsls r2, 1 - adds r1, r3, r2 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _080E7CFE - movs r0, 0x4 - strb r0, [r1] -_080E7CFE: - ldr r4, _080E7D2C @ =0x00009cd0 - adds r1, r3, r4 - movs r6, 0xE0 - lsls r6, 1 - adds r0, r3, r6 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - movs r4, 0xDF - lsls r4, 1 - adds r1, r3, r4 -_080E7D16: - movs r0, 0x4 - strb r0, [r1] -_080E7D1A: - movs r0, 0 -_080E7D1C: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E7D24: .4byte 0x00009d55 -_080E7D28: .4byte 0x00009d54 -_080E7D2C: .4byte 0x00009cd0 - thumb_func_end sub_80E7B40 - - thumb_func_start sub_80E7D30 -sub_80E7D30: @ 80E7D30 - push {r4,lr} - ldr r0, _080E7D60 @ =gSharedMem + 0x1000 - ldr r1, _080E7D64 @ =0x00009cd1 - adds r4, r0, r1 - ldr r2, _080E7D68 @ =0x00009cd0 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r2, 0x2 - adds r0, r2 - adds r1, r0 - movs r2, 0 - ldrsb r2, [r4, r2] - ldrb r3, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - blt _080E7D5A - subs r0, r3, 0x1 - strb r0, [r4] -_080E7D5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7D60: .4byte gSharedMem + 0x1000 -_080E7D64: .4byte 0x00009cd1 -_080E7D68: .4byte 0x00009cd0 - thumb_func_end sub_80E7D30 - - thumb_func_start sub_80E7D6C -sub_80E7D6C: @ 80E7D6C - push {r4,r5,lr} - movs r4, 0 - ldr r0, _080E7D94 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r4, r1 - bcs _080E7D8E - adds r5, r0, 0 -_080E7D7A: - adds r0, r4, 0 - ldr r1, _080E7D98 @ =0x0000ffff - bl sub_80E7F00 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r5, 0xA] - cmp r4, r0 - bcc _080E7D7A -_080E7D8E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7D94: .4byte gSharedMem + 0x1000 -_080E7D98: .4byte 0x0000ffff - thumb_func_end sub_80E7D6C - - thumb_func_start sub_80E7D9C -sub_80E7D9C: @ 80E7D9C - push {r4,r5,lr} - movs r2, 0 - ldr r0, _080E7DCC @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r2, r1 - bcs _080E7DC6 - adds r3, r0, 0 - ldr r4, [r3, 0x4] - adds r5, r3, 0 - adds r5, 0xC -_080E7DB0: - lsls r0, r2, 1 - adds r1, r0, r4 - adds r0, r5 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r3, 0xA] - cmp r2, r0 - bcc _080E7DB0 -_080E7DC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7DCC: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7D9C - - thumb_func_start sub_80E7DD0 -sub_80E7DD0: @ 80E7DD0 - push {r4,lr} - ldr r2, _080E7E28 @ =gSharedMem + 0x1000 - ldr r1, _080E7E2C @ =0x00009cd1 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 1 - ldr r3, _080E7E30 @ =0x00009cd0 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r1, r0 - adds r3, 0x86 - adds r0, r2, r3 - adds r1, r0 - ldrh r4, [r1] - adds r0, r2, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _080E7E34 - adds r0, r2, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r2, 0 - adds r1, 0x7E - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bls _080E7E34 - adds r0, r4, 0 - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - bne _080E7E34 - movs r0, 0 - b _080E7E46 - .align 2, 0 -_080E7E28: .4byte gSharedMem + 0x1000 -_080E7E2C: .4byte 0x00009cd1 -_080E7E30: .4byte 0x00009cd0 -_080E7E34: - ldr r0, _080E7E4C @ =gSharedMem + 0x1000 - adds r0, 0x27 - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80E7F00 - bl sub_80E95A4 - movs r0, 0x1 -_080E7E46: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E7E4C: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7DD0 - - thumb_func_start sub_80E7E50 -sub_80E7E50: @ 80E7E50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r5, 0 - movs r2, 0 - ldr r1, _080E7EF0 @ =gSharedMem + 0x1000 - adds r3, r1, 0 - adds r3, 0x84 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r2, r0 - bge _080E7EDE - mov r8, r1 - adds r0, r1, 0 - str r0, [sp] -_080E7E74: - mov r0, r8 - adds r0, 0x7E - adds r0, r2, r0 - movs r1, 0 - strb r1, [r0] - movs r3, 0 - ldr r6, _080E7EF4 @ =gSharedMem + 0x1083 - movs r0, 0 - ldrsb r0, [r6, r0] - adds r1, r2, 0x1 - str r1, [sp, 0x4] - cmp r3, r0 - bge _080E7ECE - ldr r6, [sp] - mov r12, r6 - movs r0, 0 - mov r10, r0 - ldr r1, _080E7EF4 @ =gSharedMem + 0x1083 - mov r9, r1 - ldr r7, _080E7EF8 @ =gSharedMem + 0x100C - lsls r4, r2, 1 -_080E7E9E: - lsls r1, r5, 1 - adds r2, r1, r7 - mov r6, r12 - ldr r0, [r6, 0x4] - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - adds r0, r3, r4 - mov r1, r12 - adds r1, 0x8C - adds r0, r1 - mov r1, r10 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r6, r9 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r3, r0 - blt _080E7E9E -_080E7ECE: - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - lsrs r2, r0, 16 - ldr r6, _080E7EFC @ =gSharedMem + 0x1084 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r2, r0 - blt _080E7E74 -_080E7EDE: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7EF0: .4byte gSharedMem + 0x1000 -_080E7EF4: .4byte gSharedMem + 0x1083 -_080E7EF8: .4byte gSharedMem + 0x100C -_080E7EFC: .4byte gSharedMem + 0x1084 - thumb_func_end sub_80E7E50 - - thumb_func_start sub_80E7F00 -sub_80E7F00: @ 80E7F00 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r7, _080E7F68 @ =gSharedMem + 0x1000 - adds r0, r7, 0 - adds r0, 0x83 - movs r4, 0 - ldrsb r4, [r0, r4] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r0, r6, 1 - adds r1, r7, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - bl sub_80EB2D4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r9 - bl sub_80EB2D4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r4, 0x7 - bne _080E7F6C - cmp r3, 0x7 - beq _080E7F7C - adds r1, r7, 0 - adds r1, 0x7E - adds r1, r5, r1 - ldrb r0, [r1] - subs r0, 0x1 - b _080E7F7A - .align 2, 0 -_080E7F68: .4byte gSharedMem + 0x1000 -_080E7F6C: - cmp r3, 0x7 - bne _080E7F7C - adds r1, r7, 0 - adds r1, 0x7E - adds r1, r5, r1 - ldrb r0, [r1] - adds r0, 0x1 -_080E7F7A: - strb r0, [r1] -_080E7F7C: - movs r3, 0 - ldr r2, _080E7FA4 @ =gSharedMem + 0x1000 - lsls r0, r5, 1 - add r0, r8 - adds r1, r2, 0 - adds r1, 0x8C - adds r0, r1 - strb r3, [r0] - lsls r0, r6, 1 - adds r2, 0xC - adds r0, r2 - mov r1, r9 - strh r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7FA4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7F00 - - thumb_func_start sub_80E7FA8 -sub_80E7FA8: @ 80E7FA8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r8, r0 - movs r5, 0 - ldr r0, _080E8040 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r8, r1 - bcs _080E802E - ldr r3, _080E8044 @ =0x0000a140 - adds r6, r0, r3 - ldr r1, _080E8048 @ =0x0000a16d - adds r1, r0 - mov r9, r1 -_080E7FC8: - ldr r3, _080E804C @ =0xffff5ec0 - adds r7, r6, r3 - ldr r0, [r7, 0x4] - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - ldr r1, _080E8050 @ =0xffff5ecc - adds r0, r6, r1 - adds r0, r4 - ldrh r1, [r0] - mov r0, r9 - movs r2, 0 - bl sub_80EB218 - adds r1, r6, 0 - mov r2, r9 - ldrb r0, [r1] - adds r4, r5, 0x1 - ldrb r3, [r2] - cmp r0, r3 - bne _080E8018 - adds r3, r7, 0 - cmp r0, 0xFF - beq _080E8010 -_080E8000: - adds r1, 0x1 - adds r2, 0x1 - ldrb r0, [r1] - ldrb r5, [r2] - cmp r0, r5 - bne _080E8018 - cmp r0, 0xFF - bne _080E8000 -_080E8010: - ldrb r0, [r1] - ldrb r2, [r2] - cmp r0, r2 - beq _080E8024 -_080E8018: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r3, _080E8040 @ =gSharedMem + 0x1000 -_080E8024: - lsls r0, r4, 16 - lsrs r5, r0, 16 - ldrb r3, [r3, 0xA] - cmp r5, r3 - bcc _080E7FC8 -_080E802E: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E8040: .4byte gSharedMem + 0x1000 -_080E8044: .4byte 0x0000a140 -_080E8048: .4byte 0x0000a16d -_080E804C: .4byte 0xffff5ec0 -_080E8050: .4byte 0xffff5ecc - thumb_func_end sub_80E7FA8 - - thumb_func_start sub_80E8054 -sub_80E8054: @ 80E8054 - push {r4,lr} - movs r1, 0 - ldr r2, _080E8078 @ =gSharedMem + 0x1000 - ldrb r0, [r2, 0xA] - cmp r1, r0 - bcs _080E808A - adds r4, r2, 0 - adds r4, 0xC - ldr r3, _080E807C @ =0x0000ffff - adds r2, r0, 0 -_080E8068: - lsls r0, r1, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r3 - beq _080E8080 - movs r0, 0 - b _080E808C - .align 2, 0 -_080E8078: .4byte gSharedMem + 0x1000 -_080E807C: .4byte 0x0000ffff -_080E8080: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bcc _080E8068 -_080E808A: - movs r0, 0x1 -_080E808C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E8054 - - thumb_func_start sub_80E8094 -sub_80E8094: @ 80E8094 - push {r4-r7,lr} - movs r5, 0 - ldr r6, _080E80C4 @ =gSharedMem + 0xB140 - adds r7, r6, 0 - adds r7, 0x2D -_080E809E: - lsls r4, r5, 1 - ldr r1, _080E80C8 @ =0xffff5ecc - adds r0, r6, r1 - adds r0, r4 - ldrh r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - ldr r0, _080E80CC @ =gMysteryEventPhrase - adds r4, r0 - ldrh r1, [r4] - adds r0, r7, 0 - movs r2, 0 - bl sub_80EB218 - adds r3, r6, 0 - adds r4, r7, 0 - b _080E80D8 - .align 2, 0 -_080E80C4: .4byte gSharedMem + 0xB140 -_080E80C8: .4byte 0xffff5ecc -_080E80CC: .4byte gMysteryEventPhrase -_080E80D0: - adds r4, 0x1 - adds r3, 0x1 - cmp r2, r1 - bne _080E80F4 -_080E80D8: - ldrb r2, [r3] - adds r0, r2, 0 - cmp r0, 0xFF - beq _080E80EE - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - bne _080E80D0 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080E80F4 -_080E80EE: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080E80F8 -_080E80F4: - movs r0, 0 - b _080E8104 -_080E80F8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080E809E - movs r0, 0x1 -_080E8104: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E8094 - - thumb_func_start sub_80E810C -sub_80E810C: @ 80E810C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r6, _080E8198 @ =gSharedMem + 0xB19A - ldr r0, _080E819C @ =0xffff5e66 - adds r0, r6 - mov r9, r0 - movs r1, 0 - mov r8, r1 - adds r7, r6, 0 - adds r7, 0x80 - ldr r2, _080E81A0 @ =gBerryMasterWifePhrases - mov r10, r2 -_080E812C: - mov r0, r9 - ldrh r1, [r0, 0xC] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - mov r1, r8 - strb r1, [r0] - adds r0, 0x1 - mov r2, r9 - ldrh r1, [r2, 0xE] - movs r2, 0 - bl sub_80EB218 - lsls r4, r5, 2 - mov r1, r10 - adds r0, r4, r1 - ldrh r1, [r0] - adds r0, r7, 0 - movs r2, 0 - bl sub_80EB218 - mov r2, r8 - strb r2, [r0] - adds r0, 0x1 - ldr r1, _080E81A4 @ =gBerryMasterWifePhrases + 0x2 - adds r4, r1 - ldrh r1, [r4] - movs r2, 0 - bl sub_80EB218 - adds r0, r6, 0 - adds r3, r7, 0 - adds r4, r5, 0x1 -_080E8170: - ldrb r2, [r0] - cmp r2, 0xFF - beq _080E818A - ldrb r1, [r3] - cmp r1, 0xFF - beq _080E8184 - adds r3, 0x1 - adds r0, 0x1 - cmp r2, r1 - beq _080E8170 -_080E8184: - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E81A8 -_080E818A: - ldrb r0, [r3] - cmp r0, 0xFF - bne _080E81A8 - lsls r0, r4, 24 - lsrs r0, 24 - b _080E81B2 - .align 2, 0 -_080E8198: .4byte gSharedMem + 0xB19A -_080E819C: .4byte 0xffff5e66 -_080E81A0: .4byte gBerryMasterWifePhrases -_080E81A4: .4byte gBerryMasterWifePhrases + 0x2 -_080E81A8: - lsls r0, r4, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _080E812C - movs r0, 0 -_080E81B2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E810C - - thumb_func_start sub_80E81C0 -sub_80E81C0: @ 80E81C0 - push {r4,lr} - ldr r0, _080E81EC @ =gStringVar2 - ldr r4, _080E81F0 @ =gSharedMem + 0x1000 - ldr r2, _080E81F4 @ =0x00009fa8 - adds r1, r4, r2 - ldrh r1, [r1] - movs r2, 0 - bl sub_80EB218 - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - ldr r1, _080E81F8 @ =0x00009faa - adds r4, r1 - ldrh r1, [r4] - movs r2, 0 - bl sub_80EB218 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E81EC: .4byte gStringVar2 -_080E81F0: .4byte gSharedMem + 0x1000 -_080E81F4: .4byte 0x00009fa8 -_080E81F8: .4byte 0x00009faa - thumb_func_end sub_80E81C0 - - thumb_func_start sub_80E81FC -sub_80E81FC: @ 80E81FC - push {lr} - movs r0, 0x5 - bl PlaySE - bl sub_80E95A4 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_80E81FC - - thumb_func_start sub_80E8218 -sub_80E8218: @ 80E8218 - push {r4,r5,lr} - sub sp, 0x40 - mov r1, sp - ldr r0, _080E8260 @ =gSpriteSheets_Interview - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldr r0, [r0] - str r0, [r1] - add r4, sp, 0x28 - adds r1, r4, 0 - ldr r0, _080E8264 @ =gSpritePalettes_Interview - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - bl sub_80E8268 - bl sub_80E8818 - bl sub_80E8A7C - add sp, 0x40 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E8260: .4byte gSpriteSheets_Interview -_080E8264: .4byte gSpritePalettes_Interview - thumb_func_end sub_80E8218 - - thumb_func_start sub_80E8268 -sub_80E8268: @ 80E8268 - push {lr} - ldr r0, _080E82B0 @ =gSpriteTemplate_83DBBFC - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E82B4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _080E82B8 @ =gUnknown_083DB694 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x8A - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x8 - movs r2, 0 - strh r0, [r1, 0x22] - adds r0, r3, 0 - adds r0, 0x88 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x20] - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - adds r0, r3, 0 - adds r0, 0x98 - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080E82B0: .4byte gSpriteTemplate_83DBBFC -_080E82B4: .4byte gSprites -_080E82B8: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8268 - - thumb_func_start sub_80E82BC -sub_80E82BC: @ 80E82BC - push {r4-r7,lr} - adds r3, r0, 0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080E838C - ldr r0, _080E8334 @ =gUnknown_083DB694 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x87 - ldrb r1, [r1] - mov r12, r0 - cmp r1, 0 - beq _080E836C - adds r0, r2, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r2, 0 - adds r0, 0x85 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r4, r0, 16 - movs r7, 0 - movs r1, 0 - cmp r7, r4 - bcs _080E8316 - lsls r6, r5, 1 - adds r2, 0x8C -_080E8300: - adds r0, r1, r6 - adds r0, r2, r0 - ldrb r0, [r0] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bcc _080E8300 -_080E8316: - mov r0, r12 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _080E8338 - movs r0, 0x60 - strh r0, [r3, 0x22] - lsls r0, r4, 3 - subs r0, r4 - adds r0, 0x3 - b _080E8356 - .align 2, 0 -_080E8334: .4byte gUnknown_083DB694 -_080E8338: - adds r1, r2, 0 - adds r1, 0x8A - lsls r0, r5, 1 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 3 - adds r0, 0x8 - strh r0, [r3, 0x22] - adds r0, r2, 0 - adds r0, 0x88 - ldrh r0, [r0] - adds r0, r7 - movs r1, 0xB - muls r1, r4 - adds r0, r1 -_080E8356: - lsls r0, 3 - adds r0, 0x4 - strh r0, [r3, 0x20] - movs r1, 0 - ldr r0, _080E8368 @ =0x0000fffa - strh r0, [r3, 0x24] - strh r1, [r3, 0x2E] - b _080E838C - .align 2, 0 -_080E8368: .4byte 0x0000fffa -_080E836C: - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080E838C - strh r1, [r3, 0x2E] - ldrh r0, [r3, 0x24] - adds r0, 0x1 - strh r0, [r3, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080E838C - ldr r0, _080E8394 @ =0x0000fffa - strh r0, [r3, 0x24] -_080E838C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8394: .4byte 0x0000fffa - thumb_func_end sub_80E82BC - - thumb_func_start sub_80E8398 -sub_80E8398: @ 80E8398 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - beq _080E83D4 - cmp r3, 0x1 - bgt _080E83AC - cmp r3, 0 - beq _080E83B2 - b _080E8416 -_080E83AC: - cmp r3, 0x2 - beq _080E83F8 - b _080E8416 -_080E83B2: - ldr r0, _080E83D0 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0x98 - ldr r1, [r0] - strh r3, [r1, 0x30] - ldr r1, [r0] - strh r3, [r1, 0x24] - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _080E8414 - .align 2, 0 -_080E83D0: .4byte gUnknown_083DB694 -_080E83D4: - ldr r0, _080E83F4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0x98 - ldr r0, [r1] - movs r2, 0 - strh r3, [r0, 0x30] - ldr r0, [r1] - strh r2, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _080E8414 - .align 2, 0 -_080E83F4: .4byte gUnknown_083DB694 -_080E83F8: - ldr r0, _080E841C @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0x98 - ldr r2, [r1] - movs r3, 0 - movs r0, 0x1 - strh r0, [r2, 0x30] - ldr r0, [r1] - strh r3, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 -_080E8414: - strb r0, [r1] -_080E8416: - pop {r0} - bx r0 - .align 2, 0 -_080E841C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8398 - - thumb_func_start sub_80E8420 -sub_80E8420: @ 80E8420 - push {r4-r7,lr} - sub sp, 0x18 - mov r1, sp - ldr r0, _080E84E0 @ =gSpriteTemplate_83DBCAC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080E84E4 @ =gUnknown_083DB694 - ldr r7, [r1] - adds r5, r7, 0 - adds r5, 0x9C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _080E84E8 @ =gSprites - adds r1, r4 - str r1, [r5] - ldr r0, _080E84EC @ =gSpriteAnimTable_83DBC8C - str r0, [sp, 0x8] - ldr r0, _080E84F0 @ =sub_80E872C - str r0, [sp, 0x14] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r6, r7, 0 - adds r6, 0xA0 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r6] - ldr r0, _080E84F4 @ =gSpriteAnimTable_83DBC9C - str r0, [sp, 0x8] - ldr r0, _080E84F8 @ =sub_80E8760 - str r0, [sp, 0x14] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r2, r7, 0 - adds r2, 0xA4 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2] - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r0, [r6] - strh r1, [r0, 0x2E] - ldr r0, [r2] - strh r1, [r0, 0x2E] - movs r0, 0x1 - bl IndexOfSpritePaletteTag - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 20 - ldr r2, _080E84FC @ =0x00000101 - adds r0, r2 - strh r0, [r1, 0x34] - bl sub_80E8534 - adds r1, r7, 0 - adds r1, 0x96 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080E8500 @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E84E0: .4byte gSpriteTemplate_83DBCAC -_080E84E4: .4byte gUnknown_083DB694 -_080E84E8: .4byte gSprites -_080E84EC: .4byte gSpriteAnimTable_83DBC8C -_080E84F0: .4byte sub_80E872C -_080E84F4: .4byte gSpriteAnimTable_83DBC9C -_080E84F8: .4byte sub_80E8760 -_080E84FC: .4byte 0x00000101 -_080E8500: .4byte REG_BLDCNT - thumb_func_end sub_80E8420 - - thumb_func_start sub_80E8504 -sub_80E8504: @ 80E8504 - push {r4,lr} - ldr r0, _080E8530 @ =gUnknown_083DB694 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x9C - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0 - adds r0, 0xA0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0 - adds r0, 0xA4 - ldr r0, [r0] - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E8530: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8504 - - thumb_func_start sub_80E8534 -sub_80E8534: @ 80E8534 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _080E8554 @ =gUnknown_083DB694 - ldr r3, [r1] - ldr r2, _080E8558 @ =0x000001b7 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, r1, 0 - cmp r0, 0 - beq _080E8560 - ldr r1, _080E855C @ =gUnknown_020388AC - movs r0, 0x1 - b _080E8598 - .align 2, 0 -_080E8554: .4byte gUnknown_083DB694 -_080E8558: .4byte 0x000001b7 -_080E855C: .4byte gUnknown_020388AC -_080E8560: - adds r0, r3, 0 - adds r0, 0x26 - ldrb r2, [r0] - cmp r2, 0 - bne _080E8578 - ldr r0, _080E8574 @ =gUnknown_020388AC - strb r2, [r0] - adds r7, r0, 0 - b _080E859C - .align 2, 0 -_080E8574: .4byte gUnknown_020388AC -_080E8578: - movs r1, 0xD4 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - movs r0, 0xC0 - lsls r0, 3 - cmp r1, r0 - bne _080E8594 - ldr r1, _080E8590 @ =gUnknown_020388AC - movs r0, 0x2 - b _080E8598 - .align 2, 0 -_080E8590: .4byte gUnknown_020388AC -_080E8594: - ldr r1, _080E85F4 @ =gUnknown_020388AC - movs r0, 0x3 -_080E8598: - strb r0, [r1] - adds r7, r1, 0 -_080E859C: - ldr r2, [r4] - adds r4, r2, 0 - adds r4, 0x9C - ldr r1, [r4] - ldrb r0, [r7] - movs r3, 0 - mov r8, r3 - strh r0, [r1, 0x32] - adds r5, r2, 0 - adds r5, 0xA0 - ldr r1, [r5] - ldrb r0, [r7] - strh r0, [r1, 0x32] - adds r6, r2, 0 - adds r6, 0xA4 - ldr r1, [r6] - ldrb r0, [r7] - strh r0, [r1, 0x32] - ldr r0, [r4] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r5] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r6] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r4] - movs r1, 0x8 - strh r1, [r0, 0x38] - ldr r0, [r4] - strh r1, [r0, 0x3A] - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E85F4: .4byte gUnknown_020388AC - thumb_func_end sub_80E8534 - - thumb_func_start sub_80E85F8 -sub_80E85F8: @ 80E85F8 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E8624 - ldr r1, _080E8620 @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - adds r0, 0x8 - strh r0, [r5, 0x38] - b _080E863A - .align 2, 0 -_080E8620: .4byte gSineTable -_080E8624: - ldr r1, _080E8688 @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 21 - movs r0, 0x8 - subs r0, r1 - strh r0, [r5, 0x3A] -_080E863A: - ldrh r0, [r5, 0x30] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x30] - ldr r2, _080E868C @ =REG_BLDALPHA - ldrh r0, [r5, 0x3A] - lsls r0, 8 - ldrh r1, [r5, 0x38] - orrs r0, r1 - strh r0, [r2] - ldr r0, _080E8690 @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E871A - bl sub_80E8534 - adds r1, r6, 0 - adds r1, 0x9C - ldr r0, [r1] - movs r2, 0x8 - strh r2, [r0, 0x38] - ldr r0, [r1] - strh r2, [r0, 0x3A] - ldr r1, [r1] - movs r0, 0 - strh r0, [r1, 0x30] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080E86C4 - cmp r0, 0x1 - bgt _080E8694 - cmp r0, 0 - beq _080E869E - b _080E871A - .align 2, 0 -_080E8688: .4byte gSineTable -_080E868C: .4byte REG_BLDALPHA -_080E8690: .4byte gUnknown_083DB694 -_080E8694: - cmp r0, 0x2 - beq _080E86D6 - cmp r0, 0x3 - beq _080E86DE - b _080E871A -_080E869E: - ldr r2, _080E86C0 @ =0x000001a9 - adds r0, r6, r2 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x58 - muls r0, r1 - adds r0, 0x20 - strh r0, [r5, 0x20] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r2, 0xC - b _080E870A - .align 2, 0 -_080E86C0: .4byte 0x000001a9 -_080E86C4: - movs r0, 0xD6 - strh r0, [r5, 0x20] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - b _080E8714 -_080E86D6: - movs r0, 0x97 - strh r0, [r5, 0x20] - movs r0, 0x60 - b _080E8718 -_080E86DE: - ldr r4, _080E8720 @ =gUnknown_083DBCC4 - ldr r2, _080E8724 @ =0x000001a9 - adds r0, r6, r2 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xD4 - lsls r0, 1 - adds r3, r6, r0 - movs r2, 0 - ldrsb r2, [r3, r2] - lsls r0, r2, 3 - subs r0, r2 - adds r1, r0 - adds r1, r4 - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 3 - adds r0, 0x1F - strh r0, [r5, 0x20] - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, _080E8728 @ =0x000001b5 -_080E870A: - adds r1, r6, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r0, r1 -_080E8714: - lsls r0, 4 - adds r0, 0x60 -_080E8718: - strh r0, [r5, 0x22] -_080E871A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E8720: .4byte gUnknown_083DBCC4 -_080E8724: .4byte 0x000001a9 -_080E8728: .4byte 0x000001b5 - thumb_func_end sub_80E85F8 - - thumb_func_start sub_80E872C -sub_80E872C: @ 80E872C - push {lr} - adds r2, r0, 0 - ldr r0, _080E875C @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E8756 - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080E8756 - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x20 - strh r0, [r2, 0x20] - ldr r0, [r1] - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x22] -_080E8756: - pop {r0} - bx r0 - .align 2, 0 -_080E875C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E872C - - thumb_func_start sub_80E8760 -sub_80E8760: @ 80E8760 - push {lr} - adds r2, r0, 0 - ldr r0, _080E8784 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E87B2 - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0x1 - beq _080E8798 - cmp r0, 0x1 - bgt _080E8788 - cmp r0, 0 - beq _080E878E - b _080E87B2 - .align 2, 0 -_080E8784: .4byte gUnknown_083DB694 -_080E8788: - cmp r0, 0x2 - beq _080E87A2 - b _080E87B2 -_080E878E: - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x40 - b _080E87AA -_080E8798: - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x1C - b _080E87AA -_080E87A2: - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x15 -_080E87AA: - strh r0, [r2, 0x20] - ldr r0, [r1] - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x22] -_080E87B2: - pop {r0} - bx r0 - thumb_func_end sub_80E8760 - - thumb_func_start sub_80E87A4 -sub_80E87A4: @ 80E87A4 - push {r4,lr} - lsls r0, 24 - ldr r1, _080E87C8 @ =gUnknown_083DB694 - ldr r1, [r1] - adds r2, r1, 0 - adds r2, 0xA8 - ldr r3, [r2] - movs r4, 0 - cmp r0, 0 - bne _080E87BA - movs r4, 0x1 -_080E87BA: - movs r1, 0 - strh r4, [r3, 0x30] - ldr r0, [r2] - strh r1, [r0, 0x24] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E87C8: .4byte gUnknown_083DB694 - thumb_func_end sub_80E87A4 - - thumb_func_start sub_80E87CC -sub_80E87CC: @ 80E87CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, _080E8810 @ =gUnknown_083DB694 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0xA8 - ldr r0, [r0] - movs r3, 0 - cmp r4, 0 - bne _080E87E6 - movs r3, 0x1 -_080E87E6: - adds r2, r0, 0 - adds r2, 0x3E - lsls r3, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - adds r0, r4, 0 - bl sub_80E87A4 - cmp r4, 0 - beq _080E880A - ldr r0, _080E8814 @ =0x000001b9 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080E880A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E8810: .4byte gUnknown_083DB694 -_080E8814: .4byte 0x000001b9 - thumb_func_end sub_80E87CC - - thumb_func_start sub_80E8818 -sub_80E8818: @ 80E8818 - push {lr} - ldr r0, _080E8850 @ =gSpriteTemplate_83DBBFC - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E8854 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - ldr r0, _080E8858 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xA8 - str r1, [r0] - ldr r0, _080E885C @ =sub_80E8860 - str r0, [r1, 0x1C] - movs r0, 0 - bl sub_80E87CC - pop {r0} - bx r0 - .align 2, 0 -_080E8850: .4byte gSpriteTemplate_83DBBFC -_080E8854: .4byte gSprites -_080E8858: .4byte gUnknown_083DB694 -_080E885C: .4byte sub_80E8860 - thumb_func_end sub_80E8818 - - thumb_func_start sub_80E8860 -sub_80E8860: @ 80E8860 - push {r4,r5,lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r4, [r2, r0] - cmp r4, 0 - bne _080E88E4 - ldr r0, _080E88B0 @ =gUnknown_083DB694 - ldr r3, [r0] - ldr r1, _080E88B4 @ =0x000001b9 - adds r0, r3, r1 - ldrb r1, [r0] - cmp r1, 0 - beq _080E88C4 - ldr r5, _080E88B8 @ =0x00009cd1 - adds r0, r3, r5 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x58 - muls r0, r1 - adds r0, 0x2C - strh r0, [r2, 0x20] - ldr r1, _080E88BC @ =0x00009cd0 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r5, 0x84 - adds r1, r3, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r0, r1 - lsls r0, 4 - adds r0, 0x60 - strh r0, [r2, 0x22] - ldr r0, _080E88C0 @ =0x0000fffa - strh r0, [r2, 0x24] - strh r4, [r2, 0x2E] - b _080E88E4 - .align 2, 0 -_080E88B0: .4byte gUnknown_083DB694 -_080E88B4: .4byte 0x000001b9 -_080E88B8: .4byte 0x00009cd1 -_080E88BC: .4byte 0x00009cd0 -_080E88C0: .4byte 0x0000fffa -_080E88C4: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080E88E4 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080E88E4 - ldr r0, _080E88EC @ =0x0000fffa - strh r0, [r2, 0x24] -_080E88E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E88EC: .4byte 0x0000fffa - thumb_func_end sub_80E8860 - - thumb_func_start sub_80E88F0 -sub_80E88F0: @ 80E88F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - ldr r0, _080E8950 @ =gUnknown_083DB694 - mov r8, r0 - ldr r0, [r0] - movs r6, 0x4 - movs r5, 0 - movs r1, 0xB4 - adds r1, r0 - mov r12, r1 - adds r7, r0, 0 - adds r7, 0xAC -_080E890C: - lsls r2, r4, 2 - adds r3, r7, r2 - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r0, [r3] - strh r5, [r0, 0x30] - add r2, r12 - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r0, [r2] - strh r5, [r0, 0x30] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E890C - mov r1, r8 - ldr r0, [r1] - ldr r1, _080E8954 @ =0x00009f9c - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8950: .4byte gUnknown_083DB694 -_080E8954: .4byte 0x00009f9c - thumb_func_end sub_80E88F0 - - thumb_func_start sub_80E8958 -sub_80E8958: @ 80E8958 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _080E89B4 - movs r0, 0x64 - mov r9, r0 - ldr r0, _080E8998 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r3, _080E899C @ =0x00009f98 - adds r1, r2, r3 - ldr r3, _080E89A0 @ =0x000001b5 - adds r0, r2, r3 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E89A8 - movs r1, 0xDB - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - subs r0, 0x4 - ldr r3, _080E89A4 @ =0x00009f9d - adds r1, r2, r3 - strb r0, [r1] - b _080E8A00 - .align 2, 0 -_080E8998: .4byte gUnknown_083DB694 -_080E899C: .4byte 0x00009f98 -_080E89A0: .4byte 0x000001b5 -_080E89A4: .4byte 0x00009f9d -_080E89A8: - ldr r1, _080E89B0 @ =0x00009f9d - adds r0, r2, r1 - strb r7, [r0] - b _080E8A00 - .align 2, 0 -_080E89B0: .4byte 0x00009f9d -_080E89B4: - movs r3, 0x78 - mov r9, r3 - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E8A68 @ =0x00009f98 - adds r1, r2, r0 - ldr r3, _080E8A6C @ =0x00009d55 - adds r0, r2, r3 - str r0, [r1] - ldr r1, _080E8A70 @ =0x00009d54 - adds r0, r2, r1 - ldrb r0, [r0] - subs r0, 0x4 - ldr r3, _080E8A74 @ =0x00009f9d - adds r1, r2, r3 - strb r0, [r1] - movs r4, 0 - adds r5, r2, 0 - adds r5, 0xB4 - movs r0, 0x5 - negs r0, r0 - mov r12, r0 - movs r6, 0x1 -_080E89E2: - lsls r3, r4, 2 - adds r3, r5, r3 - ldr r1, [r3] - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - strh r6, [r0, 0x30] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E89E2 -_080E8A00: - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r3, _080E8A74 @ =0x00009f9d - adds r1, r2, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _080E8A14 - movs r0, 0 - strb r0, [r1] -_080E8A14: - movs r4, 0 - adds r6, r2, 0 - adds r6, 0xAC - movs r0, 0x5 - negs r0, r0 - mov r8, r0 -_080E8A20: - lsls r2, r4, 2 - adds r2, r6, r2 - ldr r0, [r2] - mov r1, r9 - strh r1, [r0, 0x20] - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r8 - ands r0, r3 - strb r0, [r1] - ldr r0, [r2] - movs r5, 0x1 - strh r5, [r0, 0x30] - ldr r0, [r2] - adds r1, r7, 0 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E8A20 - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E8A78 @ =0x00009f9c - adds r0, r1 - strb r5, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8A64: .4byte gUnknown_083DB694 -_080E8A68: .4byte 0x00009f98 -_080E8A6C: .4byte 0x00009d55 -_080E8A70: .4byte 0x00009d54 -_080E8A74: .4byte 0x00009f9d -_080E8A78: .4byte 0x00009f9c - thumb_func_end sub_80E8958 - - thumb_func_start sub_80E8A7C -sub_80E8A7C: @ 80E8A7C - push {r4-r7,lr} - sub sp, 0x18 - mov r1, sp - ldr r0, _080E8B68 @ =gSpriteTemplate_83DBD18 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r5, 0 -_080E8A8E: - lsls r2, r5, 3 - adds r2, r5 - lsls r2, 19 - movs r0, 0xA8 - lsls r0, 15 - adds r2, r0 - asrs r2, 16 - mov r0, sp - movs r1, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080E8B6C @ =gUnknown_083DB694 - ldr r2, [r0] - lsls r0, r5, 2 - adds r2, 0xAC - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8B70 @ =gSprites - adds r0, r1 - str r0, [r2] - strh r5, [r0, 0x2E] - ldr r3, [r2] - adds r3, 0x3F - movs r0, 0x1 - adds r2, r5, 0 - ands r2, r0 - lsls r2, 1 - ldrb r0, [r3] - movs r4, 0x3 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E8A8E - mov r0, sp - movs r1, 0x3 - strh r1, [r0] - ldr r0, _080E8B74 @ =gSpriteAnimTable_83DBD10 - str r0, [sp, 0x8] - movs r5, 0 - movs r7, 0x3F - movs r6, 0x40 -_080E8AF6: - lsls r4, r5, 2 - adds r1, r4, r5 - lsls r1, 19 - movs r0, 0x8E - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - mov r0, sp - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080E8B6C @ =gUnknown_083DB694 - ldr r2, [r0] - adds r2, 0xB4 - adds r2, r4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8B70 @ =gSprites - adds r0, r1 - str r0, [r2] - strh r5, [r0, 0x2E] - ldr r3, [r2] - ldrb r1, [r3, 0x1] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r3, 0x1] - ldr r3, [r2] - ldrb r1, [r3, 0x3] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r3, 0x3] - ldr r0, [r2] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E8AF6 - movs r0, 0 - bl sub_80E8958 - bl sub_80E88F0 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8B68: .4byte gSpriteTemplate_83DBD18 -_080E8B6C: .4byte gUnknown_083DB694 -_080E8B70: .4byte gSprites -_080E8B74: .4byte gSpriteAnimTable_83DBD10 - thumb_func_end sub_80E8A7C - - thumb_func_start sub_80E8B78 -sub_80E8B78: @ 80E8B78 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _080E8BB0 @ =gUnknown_083DB694 - ldr r1, [r0] - ldr r2, _080E8BB4 @ =0x00009f9c - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E8BE8 - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080E8BE8 - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E8BBC - movs r4, 0 - ldr r2, _080E8BB8 @ =0x00009f98 - adds r0, r1, r2 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E8BD6 - b _080E8BD4 - .align 2, 0 -_080E8BB0: .4byte gUnknown_083DB694 -_080E8BB4: .4byte 0x00009f9c -_080E8BB8: .4byte 0x00009f98 -_080E8BBC: - movs r4, 0 - ldr r2, _080E8BF0 @ =0x00009f98 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x5 - adds r1, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - bne _080E8BD6 -_080E8BD4: - movs r4, 0x1 -_080E8BD6: - adds r2, r3, 0 - adds r2, 0x3E - lsls r3, r4, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080E8BE8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E8BF0: .4byte 0x00009f98 - thumb_func_end sub_80E8B78 - - thumb_func_start sub_80E8BF4 -sub_80E8BF4: @ 80E8BF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r0, _080E8C28 @ =gUnknown_083DBD30 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - ldr r0, _080E8C2C @ =gUnknown_083DBD38 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - cmp r2, 0x2 - beq _080E8C20 - cmp r2, 0x5 - beq _080E8C30 -_080E8C20: - movs r4, 0x40 - movs r5, 0x28 - b _080E8C34 - .align 2, 0 -_080E8C28: .4byte gUnknown_083DBD30 -_080E8C2C: .4byte gUnknown_083DBD38 -_080E8C30: - movs r4, 0x24 - movs r5, 0x30 -_080E8C34: - cmp r3, 0 - beq _080E8C3C - cmp r3, 0x1 - beq _080E8C40 -_080E8C3C: - movs r0, 0x43 - b _080E8C42 -_080E8C40: - movs r0, 0x44 -_080E8C42: - mov r8, r0 - add r0, sp, 0x4 - bl LoadCompressedObjectPic - add r0, sp, 0xC - bl LoadSpritePalette - ldr r0, _080E8CDC @ =gSpriteTemplate_83DBD48 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - ldr r0, _080E8CE0 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - movs r1, 0x69 - cmp r0, 0 - bne _080E8C68 - movs r1, 0x64 -_080E8C68: - ldr r7, _080E8CE4 @ =SpriteCallbackDummy - adds r2, r4, 0 - subs r2, 0xC - movs r6, 0 - str r6, [sp] - adds r0, r1, 0 - adds r1, r7, 0 - adds r3, r5, 0 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080E8C9E - ldr r1, _080E8CE8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x3 - bl StartSpriteAnim -_080E8C9E: - adds r2, r4, 0 - adds r2, 0xC - str r6, [sp] - mov r0, r8 - adds r1, r7, 0 - adds r3, r5, 0 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080E8CD0 - ldr r1, _080E8CE8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x2 - bl StartSpriteAnim -_080E8CD0: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8CDC: .4byte gSpriteTemplate_83DBD48 -_080E8CE0: .4byte gSaveBlock2 -_080E8CE4: .4byte SpriteCallbackDummy -_080E8CE8: .4byte gSprites - thumb_func_end sub_80E8BF4 - - thumb_func_start sub_80E8CEC -sub_80E8CEC: @ 80E8CEC - push {lr} - ldr r0, _080E8D24 @ =gUnknown_083DBD60 - bl LoadCompressedObjectPic - ldr r0, _080E8D28 @ =gUnknown_083DBD68 - bl LoadSpritePalette - ldr r0, _080E8D2C @ =gSpriteTemplate_83DBDE4 - movs r1, 0xE0 - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080E8D3C - ldr r0, _080E8D30 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E8D34 @ =0x00009fa0 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8D38 @ =gSprites - adds r0, r1 - str r0, [r2] - b _080E8D48 - .align 2, 0 -_080E8D24: .4byte gUnknown_083DBD60 -_080E8D28: .4byte gUnknown_083DBD68 -_080E8D2C: .4byte gSpriteTemplate_83DBDE4 -_080E8D30: .4byte gUnknown_083DB694 -_080E8D34: .4byte 0x00009fa0 -_080E8D38: .4byte gSprites -_080E8D3C: - ldr r0, _080E8D4C @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E8D50 @ =0x00009fa0 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080E8D48: - pop {r0} - bx r0 - .align 2, 0 -_080E8D4C: .4byte gUnknown_083DB694 -_080E8D50: .4byte 0x00009fa0 - thumb_func_end sub_80E8CEC - - thumb_func_start sub_80E8D54 -sub_80E8D54: @ 80E8D54 - push {lr} - ldr r0, _080E8D78 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r1, _080E8D7C @ =0x00009fa0 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - beq _080E8D88 - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E8D80 - adds r0, r1, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _080E8D88 - .align 2, 0 -_080E8D78: .4byte gUnknown_083DB694 -_080E8D7C: .4byte 0x00009fa0 -_080E8D80: - adds r0, r1, 0 - movs r1, 0x2 - bl StartSpriteAnim -_080E8D88: - pop {r0} - bx r0 - thumb_func_end sub_80E8D54 - - thumb_func_start sub_80E8D8C -sub_80E8D8C: @ 80E8D8C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080E8DB8 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r1, _080E8DBC @ =0x00009fa0 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - beq _080E8DD2 - cmp r3, 0 - beq _080E8DCA - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E8DC0 - adds r0, r1, 0 - movs r1, 0x3 - bl StartSpriteAnim - b _080E8DD2 - .align 2, 0 -_080E8DB8: .4byte gUnknown_083DB694 -_080E8DBC: .4byte 0x00009fa0 -_080E8DC0: - adds r0, r1, 0 - movs r1, 0x4 - bl StartSpriteAnim - b _080E8DD2 -_080E8DCA: - adds r0, r1, 0 - movs r1, 0x5 - bl StartSpriteAnim -_080E8DD2: - pop {r0} - bx r0 - thumb_func_end sub_80E8D8C - - thumb_func_start sub_80E8DD8 -sub_80E8DD8: @ 80E8DD8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - ldr r0, _080E8F2C @ =REG_BG0HOFS - movs r6, 0 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x4 - strh r6, [r0] - subs r0, 0x2 - strh r6, [r0] - adds r0, 0x4 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - ldr r1, _080E8F30 @ =REG_BG0CNT - movs r2, 0x8B - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080E8F34 @ =0x00000d09 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080E8F38 @ =gUnknown_08E945D0 - ldr r1, _080E8F3C @ =gUnknown_083DB694 - ldr r1, [r1] - mov r8, r1 - movs r4, 0xE4 - lsls r4, 1 - add r4, r8 - movs r5, 0xA0 - lsls r5, 2 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080E8F40 @ =gUnknown_08E953D0 - movs r1, 0xD9 - lsls r1, 3 - add r1, r8 - bl LZ77UnCompWram - ldr r0, _080E8F44 @ =gMenuWordGroupFrame_Gfx - ldr r1, _080E8F48 @ =0x06008000 - bl LZ77UnCompVram - ldr r1, _080E8F4C @ =0x06006800 - adds r0, r4, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080E8F50 @ =gMenuWordGroupFrame1_Pal - movs r1, 0x40 - movs r2, 0x40 - bl LoadPalette - ldr r1, _080E8F54 @ =REG_BG2CNT - ldr r2, _080E8F58 @ =0x00000e02 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080E8F5C @ =0x06007000 - movs r5, 0x80 - lsls r5, 4 - mov r0, sp - strh r6, [r0] - ldr r4, _080E8F60 @ =0x040000d4 - str r0, [r4] - str r1, [r4, 0x4] - lsrs r0, r5, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F64 @ =gUnknown_08E9AB00 - ldr r2, _080E8F68 @ =0x06006000 - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, _080E8F6C @ =0x80000020 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F70 @ =gUnknown_08E9AB60 - bl LZ77UnCompVram - ldr r0, _080E8F74 @ =gUnknown_08E9AB40 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080E8F78 @ =gUnknown_083DBDFC - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080E8F7C @ =REG_BG3CNT - ldr r2, _080E8F80 @ =0x00000f0f - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080E8F84 @ =0x06007800 - movs r0, 0 - mov r9, r0 - str r0, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r4] - str r1, [r4, 0x4] - lsrs r5, 2 - movs r0, 0x85 - lsls r0, 24 - orrs r5, r0 - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F88 @ =gUnknown_083DBE40 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080E8F8C @ =gPlttBufferUnfaded - adds r1, r0, 0 - adds r1, 0x7E - ldr r3, _080E8F90 @ =0x00007fff - strh r3, [r1] - subs r1, 0x1C - ldr r2, _080E8F94 @ =0x00006f5b - strh r2, [r1] - adds r0, 0x70 - ldr r1, _080E8F98 @ =0x0000739c - strh r1, [r0] - ldr r0, _080E8F9C @ =gPlttBufferFaded - adds r4, r0, 0 - adds r4, 0x7E - strh r3, [r4] - adds r3, r0, 0 - adds r3, 0x62 - strh r2, [r3] - adds r0, 0x70 - strh r1, [r0] - movs r1, 0xBC - add r8, r1 - mov r2, r8 - strb r6, [r2] - bl sub_80E8FA4 - bl sub_80E948C - movs r0, 0xA - bl sub_80E9198 - movs r0, 0 - bl sub_80E91D4 - bl sub_80E95A4 - ldr r0, _080E8FA0 @ =REG_BLDCNT - mov r1, r9 - strh r1, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E8F2C: .4byte REG_BG0HOFS -_080E8F30: .4byte REG_BG0CNT -_080E8F34: .4byte 0x00000d09 -_080E8F38: .4byte gUnknown_08E945D0 -_080E8F3C: .4byte gUnknown_083DB694 -_080E8F40: .4byte gUnknown_08E953D0 -_080E8F44: .4byte gMenuWordGroupFrame_Gfx -_080E8F48: .4byte 0x06008000 -_080E8F4C: .4byte 0x06006800 -_080E8F50: .4byte gMenuWordGroupFrame1_Pal -_080E8F54: .4byte REG_BG2CNT -_080E8F58: .4byte 0x00000e02 -_080E8F5C: .4byte 0x06007000 -_080E8F60: .4byte 0x040000d4 -_080E8F64: .4byte gUnknown_08E9AB00 -_080E8F68: .4byte 0x06006000 -_080E8F6C: .4byte 0x80000020 -_080E8F70: .4byte gUnknown_08E9AB60 -_080E8F74: .4byte gUnknown_08E9AB40 -_080E8F78: .4byte gUnknown_083DBDFC -_080E8F7C: .4byte REG_BG3CNT -_080E8F80: .4byte 0x00000f0f -_080E8F84: .4byte 0x06007800 -_080E8F88: .4byte gUnknown_083DBE40 -_080E8F8C: .4byte gPlttBufferUnfaded -_080E8F90: .4byte 0x00007fff -_080E8F94: .4byte 0x00006f5b -_080E8F98: .4byte 0x0000739c -_080E8F9C: .4byte gPlttBufferFaded -_080E8FA0: .4byte REG_BLDCNT - thumb_func_end sub_80E8DD8 - - thumb_func_start sub_80E8FA4 -sub_80E8FA4: @ 80E8FA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - movs r0, 0 - mov r9, r0 - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x24] - add r2, sp, 0xC - mov r12, r2 -_080E8FBE: - mov r3, r9 - lsls r1, r3, 1 - ldr r4, _080E90F4 @ =0x08e8f136 - adds r0, r1, r4 - ldrh r2, [r0] - movs r0, 0x1F - ands r0, r2 - lsls r0, 8 - str r0, [sp] - ldr r5, _080E90F8 @ =0x08e8f13c - adds r1, r5 - ldrh r1, [r1] - movs r0, 0x1F - ands r0, r1 - lsls r0, 8 - str r0, [sp, 0xC] - lsls r2, 16 - lsrs r0, r2, 21 - movs r3, 0x1F - ands r0, r3 - lsls r0, 8 - str r0, [sp, 0x4] - lsls r1, 16 - lsrs r0, r1, 21 - ands r0, r3 - lsls r0, 8 - mov r4, r12 - str r0, [r4, 0x4] - lsrs r2, 26 - ands r2, r3 - lsls r2, 8 - str r2, [sp, 0x8] - lsrs r1, 26 - ands r1, r3 - lsls r1, 8 - str r1, [r4, 0x8] - movs r3, 0 - mov r5, r9 - lsls r5, 3 - mov r10, r5 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x28] - ldr r4, [sp, 0x24] -_080E9016: - lsls r0, r3, 2 - adds r2, r4, r0 - mov r5, r12 - adds r1, r5, r0 - add r0, sp - ldr r1, [r1] - ldr r0, [r0] - subs r0, r1, r0 - cmp r0, 0 - bge _080E902C - adds r0, 0x7 -_080E902C: - asrs r0, 3 - str r0, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x2 - bls _080E9016 - movs r4, 0 - ldr r0, _080E90FC @ =gUnknown_083DB694 - ldr r1, [r0] - mov r0, r10 - add r0, r9 - lsls r0, 1 - mov r8, r0 - movs r5, 0x1F - ldr r6, [sp, 0x24] - ldr r0, _080E9100 @ =0x00009f60 - adds r7, r1, r0 -_080E9050: - lsls r2, r4, 1 - add r2, r8 - adds r2, r7, r2 - ldr r1, [sp, 0x8] - asrs r1, 8 - ands r1, r5 - lsls r1, 10 - ldr r0, [sp, 0x4] - asrs r0, 8 - ands r0, r5 - lsls r0, 5 - orrs r1, r0 - ldr r0, [sp] - asrs r0, 8 - ands r0, r5 - orrs r1, r0 - strh r1, [r2] - movs r3, 0 - adds r4, 0x1 -_080E9076: - lsls r0, r3, 2 - mov r1, sp - adds r2, r1, r0 - adds r0, r6, r0 - ldr r1, [r2] - ldr r0, [r0] - adds r1, r0 - str r1, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x2 - bls _080E9076 - lsls r0, r4, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080E9050 - ldr r2, _080E90FC @ =gUnknown_083DB694 - ldr r3, [r2] - mov r0, r10 - add r0, r9 - adds r0, r4 - lsls r0, 1 - ldr r4, _080E9100 @ =0x00009f60 - adds r2, r3, r4 - adds r2, r0 - mov r5, r12 - ldr r1, [r5, 0x8] - asrs r1, 8 - movs r0, 0x1F - ands r1, r0 - lsls r1, 10 - ldr r0, [r5, 0x4] - asrs r0, 8 - movs r4, 0x1F - ands r0, r4 - lsls r0, 5 - orrs r1, r0 - ldr r0, [sp, 0xC] - asrs r0, 8 - ands r0, r4 - orrs r1, r0 - strh r1, [r2] - ldr r5, [sp, 0x28] - lsls r0, r5, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0x2 - bhi _080E90DA - b _080E8FBE -_080E90DA: - ldr r0, _080E9104 @ =0x00009f5e - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E90F4: .4byte 0x08e8f136 -_080E90F8: .4byte 0x08e8f13c -_080E90FC: .4byte gUnknown_083DB694 -_080E9100: .4byte 0x00009f60 -_080E9104: .4byte 0x00009f5e - thumb_func_end sub_80E8FA4 - - thumb_func_start sub_80E9108 -sub_80E9108: @ 80E9108 - push {r4-r7,lr} - lsls r0, 24 - ldr r1, _080E9164 @ =gUnknown_083DB694 - ldr r2, [r1] - ldr r3, _080E9168 @ =0x00009f5e - adds r1, r2, r3 - lsrs r0, 24 - ldrb r3, [r1] - adds r0, r3 - strb r0, [r1] - movs r4, 0 - ldr r0, _080E916C @ =gPlttBufferUnfaded - mov r12, r0 - adds r6, r1, 0 - ldr r3, _080E9170 @ =0x00009f60 - adds r5, r2, r3 - ldr r7, _080E9174 @ =gPlttBufferFaded -_080E912A: - adds r2, r4, 0 - adds r2, 0x51 - lsls r2, 1 - mov r0, r12 - adds r3, r2, r0 - ldrb r0, [r6] - lsls r0, 1 - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 1 - adds r0, r1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r3] - adds r2, r7 - ldrb r0, [r6] - lsls r0, 1 - adds r0, r1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _080E912A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9164: .4byte gUnknown_083DB694 -_080E9168: .4byte 0x00009f5e -_080E916C: .4byte gPlttBufferUnfaded -_080E9170: .4byte 0x00009f60 -_080E9174: .4byte gPlttBufferFaded - thumb_func_end sub_80E9108 - - thumb_func_start sub_80E9178 -sub_80E9178: @ 80E9178 - push {lr} - ldr r0, _080E9190 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E9194 @ =0x00009f5e - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0 - bl sub_80E9108 - pop {r0} - bx r0 - .align 2, 0 -_080E9190: .4byte gUnknown_083DB694 -_080E9194: .4byte 0x00009f5e - thumb_func_end sub_80E9178 - - thumb_func_start sub_80E9198 -sub_80E9198: @ 80E9198 - ldr r1, _080E91A0 @ =gUnknown_03000740 - strb r0, [r1] - bx lr - .align 2, 0 -_080E91A0: .4byte gUnknown_03000740 - thumb_func_end sub_80E9198 - - thumb_func_start sub_80E91A4 -sub_80E91A4: @ 80E91A4 - ldr r0, _080E91AC @ =gUnknown_03000740 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080E91AC: .4byte gUnknown_03000740 - thumb_func_end sub_80E91A4 - - thumb_func_start sub_80E91B0 -sub_80E91B0: @ 80E91B0 - push {lr} - sub sp, 0x8 - lsls r2, 24 - lsls r1, 27 - lsrs r1, 24 - lsrs r2, 21 - lsls r3, 27 - lsrs r3, 24 - str r3, [sp] - movs r3, 0x1 - str r3, [sp, 0x4] - movs r3, 0xB0 - bl sub_8072AB0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80E91B0 - - thumb_func_start sub_80E91D4 -sub_80E91D4: @ 80E91D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, _080E91FC @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - cmp r4, 0xA - bne _080E9200 - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0xA - bl sub_80E9198 - b _080E935C - .align 2, 0 -_080E91FC: .4byte gWindowConfig_81E6DA8 -_080E9200: - bl sub_80E91A4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _080E9218 - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl MenuDrawTextWindow -_080E9218: - adds r0, r4, 0 - bl sub_80E9198 - cmp r4, 0x9 - bls _080E9224 - b _080E935C -_080E9224: - lsls r0, r4, 2 - ldr r1, _080E9230 @ =_080E9234 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9230: .4byte _080E9234 - .align 2, 0 -_080E9234: - .4byte _080E925C - .4byte _080E9284 - .4byte _080E92AC - .4byte _080E92C4 - .4byte _080E92F0 - .4byte _080E9308 - .4byte _080E9310 - .4byte _080E9318 - .4byte _080E933C - .4byte _080E9350 -_080E925C: - ldr r0, _080E9278 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r1, _080E927C @ =0x00009fac - adds r0, r4, r1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9280 @ =0x00009ff5 - adds r4, r0 - adds r0, r4, 0 - b _080E9326 - .align 2, 0 -_080E9278: .4byte gUnknown_083DB694 -_080E927C: .4byte 0x00009fac -_080E9280: .4byte 0x00009ff5 -_080E9284: - ldr r0, _080E92A0 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r1, _080E92A4 @ =0x0000a03e - adds r0, r4, r1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E92A8 @ =0x0000a087 - adds r4, r0 - adds r0, r4, 0 - b _080E9326 - .align 2, 0 -_080E92A0: .4byte gUnknown_083DB694 -_080E92A4: .4byte 0x0000a03e -_080E92A8: .4byte 0x0000a087 -_080E92AC: - ldr r0, _080E92BC @ =gOtherText_TextDeletedConfirmPage1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E92C0 @ =gOtherText_TextDeletedConfirmPage2 - b _080E9326 - .align 2, 0 -_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1 -_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2 -_080E92C4: - ldr r0, _080E92D8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x4 - beq _080E92E0 - cmp r0, 0x9 - bne _080E92E8 - ldr r0, _080E92DC @ =gOtherText_QuitGivingInfo - b _080E933E - .align 2, 0 -_080E92D8: .4byte gUnknown_083DB694 -_080E92DC: .4byte gOtherText_QuitGivingInfo -_080E92E0: - ldr r0, _080E92E4 @ =gOtherText_StopGivingMail - b _080E933E - .align 2, 0 -_080E92E4: .4byte gOtherText_StopGivingMail -_080E92E8: - ldr r0, _080E92EC @ =gOtherText_QuitEditing - b _080E933E - .align 2, 0 -_080E92EC: .4byte gOtherText_QuitEditing -_080E92F0: - ldr r0, _080E9300 @ =gOtherText_EditedTextNoSavePage1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9304 @ =gOtherText_EditedTextNoSavePage2 - b _080E9326 - .align 2, 0 -_080E9300: .4byte gOtherText_EditedTextNoSavePage1 -_080E9304: .4byte gOtherText_EditedTextNoSavePage2 -_080E9308: - ldr r0, _080E930C @ =gOtherText_EnterAPhraseOrWord - b _080E933E - .align 2, 0 -_080E930C: .4byte gOtherText_EnterAPhraseOrWord -_080E9310: - ldr r0, _080E9314 @ =gOtherText_TextNoDelete - b _080E933E - .align 2, 0 -_080E9314: .4byte gOtherText_TextNoDelete -_080E9318: - ldr r0, _080E9334 @ =gOtherText_OnlyOnePhrase - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9338 @ =gOtherText_OriginalSongRestored -_080E9326: - movs r1, 0x4 - movs r2, 0x11 - movs r3, 0x2 - bl sub_80E91B0 - b _080E935C - .align 2, 0 -_080E9334: .4byte gOtherText_OnlyOnePhrase -_080E9338: .4byte gOtherText_OriginalSongRestored -_080E933C: - ldr r0, _080E934C @ =gOtherText_TrendyAlready -_080E933E: - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x4 - bl sub_80E91B0 - b _080E935C - .align 2, 0 -_080E934C: .4byte gOtherText_TrendyAlready -_080E9350: - ldr r0, _080E9364 @ =gOtherText_CombineTwoPhrases - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x4 - bl sub_80E91B0 -_080E935C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E9364: .4byte gOtherText_CombineTwoPhrases - thumb_func_end sub_80E91D4 - - thumb_func_start sub_80E9368 -sub_80E9368: @ 80E9368 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bhi _080E93F8 - lsls r0, 2 - ldr r1, _080E937C @ =_080E9380 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E937C: .4byte _080E9380 - .align 2, 0 -_080E9380: - .4byte _080E93B8 - .4byte _080E93C0 - .4byte _080E93C8 - .4byte _080E93D0 - .4byte _080E93F8 - .4byte _080E93E8 - .4byte _080E93D8 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93E0 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93F0 -_080E93B8: - ldr r4, _080E93BC @ =gOtherText_Profile - b _080E93FA - .align 2, 0 -_080E93BC: .4byte gOtherText_Profile -_080E93C0: - ldr r4, _080E93C4 @ =gOtherText_AtBattleStart - b _080E93FA - .align 2, 0 -_080E93C4: .4byte gOtherText_AtBattleStart -_080E93C8: - ldr r4, _080E93CC @ =gOtherText_UponWinningBattle - b _080E93FA - .align 2, 0 -_080E93CC: .4byte gOtherText_UponWinningBattle -_080E93D0: - ldr r4, _080E93D4 @ =gOtherText_UponLosingBattle - b _080E93FA - .align 2, 0 -_080E93D4: .4byte gOtherText_UponLosingBattle -_080E93D8: - ldr r4, _080E93DC @ =gOtherText_TheBardsSong - b _080E93FA - .align 2, 0 -_080E93DC: .4byte gOtherText_TheBardsSong -_080E93E0: - ldr r4, _080E93E4 @ =gOtherText_WhatsHipHappening - b _080E93FA - .align 2, 0 -_080E93E4: .4byte gOtherText_WhatsHipHappening -_080E93E8: - ldr r4, _080E93EC @ =gOtherText_Interview - b _080E93FA - .align 2, 0 -_080E93EC: .4byte gOtherText_Interview -_080E93F0: - ldr r4, _080E93F4 @ =gOtherText_GoodSaying - b _080E93FA - .align 2, 0 -_080E93F4: .4byte gOtherText_GoodSaying -_080E93F8: - movs r4, 0 -_080E93FA: - ldr r0, _080E943C @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E9440 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E9444 @ =0x0000a2ba - adds r5, r2, r0 - movs r3, 0xFC - strb r3, [r5] - adds r0, 0x1 - adds r1, r2, r0 - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080E9448 @ =0x0000a2bc - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - cmp r4, 0 - beq _080E9450 - ldr r1, _080E944C @ =0x0000a2bd - adds r0, r2, r1 - adds r1, r4, 0 - movs r2, 0xF0 - movs r3, 0x2 - bl sub_8072C74 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl MenuPrint - b _080E9476 - .align 2, 0 -_080E943C: .4byte gWindowConfig_81E6D8C -_080E9440: .4byte gUnknown_083DB694 -_080E9444: .4byte 0x0000a2ba -_080E9448: .4byte 0x0000a2bc -_080E944C: .4byte 0x0000a2bd -_080E9450: - ldr r0, _080E9484 @ =0x0000a2bd - adds r1, r2, r0 - strb r3, [r1] - movs r0, 0x11 - strb r0, [r1, 0x1] - movs r0, 0x10 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x1C - movs r2, 0 - bl MenuPrint -_080E9476: - ldr r0, _080E9488 @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E9484: .4byte 0x0000a2bd -_080E9488: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E9368 - - thumb_func_start sub_80E948C -sub_80E948C: @ 80E948C - push {lr} - sub sp, 0x10 - ldr r0, _080E94A8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bls _080E949C - b _080E9594 -_080E949C: - lsls r0, 2 - ldr r1, _080E94AC @ =_080E94B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E94A8: .4byte gUnknown_083DB694 -_080E94AC: .4byte _080E94B0 - .align 2, 0 -_080E94B0: - .4byte _080E9508 - .4byte _080E9530 - .4byte _080E9554 - .4byte _080E9578 - .4byte _080E94C8 - .4byte _080E94E8 -_080E94C8: - ldr r0, _080E94E0 @ =0x06006800 - ldr r3, _080E94E4 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x1A - str r1, [sp, 0x4] - movs r1, 0x18 - str r1, [sp, 0x8] - movs r1, 0x6 - str r1, [sp, 0xC] - movs r1, 0x3 - b _080E9568 - .align 2, 0 -_080E94E0: .4byte 0x06006800 -_080E94E4: .4byte gUnknown_08E94AD0 -_080E94E8: - ldr r0, _080E9500 @ =0x06006800 - ldr r3, _080E9504 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - movs r1, 0xD - str r1, [sp, 0x8] - movs r1, 0x8 - str r1, [sp, 0xC] - movs r1, 0xE - b _080E951E - .align 2, 0 -_080E9500: .4byte 0x06006800 -_080E9504: .4byte gUnknown_08E94AD0 -_080E9508: - ldr r0, _080E9528 @ =0x06006800 - ldr r3, _080E952C @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0x1A - str r1, [sp, 0x8] - movs r1, 0x8 - str r1, [sp, 0xC] - movs r1, 0x2 -_080E951E: - movs r2, 0x2 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E9528: .4byte 0x06006800 -_080E952C: .4byte gUnknown_08E94AD0 -_080E9530: - ldr r0, _080E954C @ =0x06006800 - ldr r3, _080E9550 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x1A - str r1, [sp, 0x8] - movs r1, 0xA - str r1, [sp, 0xC] - movs r1, 0x2 - movs r2, 0 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E954C: .4byte 0x06006800 -_080E9550: .4byte gUnknown_08E94AD0 -_080E9554: - ldr r0, _080E9570 @ =0x06006800 - ldr r3, _080E9574 @ =gUnknown_08E94AD0 - movs r2, 0xD - str r2, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r1, 0x4 - str r1, [sp, 0xC] - movs r1, 0xE -_080E9568: - movs r2, 0x3 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E9570: .4byte 0x06006800 -_080E9574: .4byte gUnknown_08E94AD0 -_080E9578: - ldr r0, _080E959C @ =0x06006800 - ldr r3, _080E95A0 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x20 - str r1, [sp, 0x4] - movs r1, 0x18 - str r1, [sp, 0x8] - movs r1, 0x4 - str r1, [sp, 0xC] - movs r1, 0x3 - movs r2, 0x2 - bl sub_809D104 -_080E9594: - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_080E959C: .4byte 0x06006800 -_080E95A0: .4byte gUnknown_08E94AD0 - thumb_func_end sub_80E948C - - thumb_func_start sub_80E95A4 -sub_80E95A4: @ 80E95A4 - push {lr} - ldr r0, _080E95C0 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E95C4 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E9612 - lsls r0, 2 - ldr r1, _080E95C8 @ =_080E95CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E95C0: .4byte gWindowConfig_81E6D8C -_080E95C4: .4byte gUnknown_083DB694 -_080E95C8: .4byte _080E95CC - .align 2, 0 -_080E95CC: - .4byte _080E95F2 - .4byte _080E95F6 - .4byte _080E9600 - .4byte _080E960A - .4byte _080E95E4 - .4byte _080E95EE -_080E95E4: - movs r0, 0x4 - movs r1, 0x6 - bl sub_80E9620 - b _080E9612 -_080E95EE: - movs r0, 0x2 - b _080E9602 -_080E95F2: - movs r0, 0x3 - b _080E95F8 -_080E95F6: - movs r0, 0 -_080E95F8: - movs r1, 0x5 - bl sub_80E9620 - b _080E9612 -_080E9600: - movs r0, 0x4 -_080E9602: - movs r1, 0x11 - bl sub_80E9620 - b _080E9612 -_080E960A: - movs r0, 0x3 - movs r1, 0x6 - bl sub_80E9620 -_080E9612: - ldr r0, _080E961C @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_080E961C: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E95A4 - - thumb_func_start sub_80E9620 -sub_80E9620: @ 80E9620 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x14] - movs r1, 0 - mov r10, r1 - lsrs r7, r0, 16 - mov r9, r1 - ldr r0, _080E9644 @ =gUnknown_083DB694 - ldr r0, [r0] - b _080E971A - .align 2, 0 -_080E9644: .4byte gUnknown_083DB694 -_080E9648: - ldr r6, [sp, 0x14] - movs r2, 0 - mov r8, r2 - adds r0, r7, 0x2 - str r0, [sp, 0x1C] - mov r1, r9 - adds r1, 0x1 - str r1, [sp, 0x18] - b _080E96E4 -_080E965A: - mov r2, r10 - lsls r0, r2, 1 - adds r1, r5, 0 - adds r1, 0xC - adds r1, r0 - ldrh r0, [r1] - ldr r2, _080E9690 @ =0x0000ffff - cmp r0, r2 - bne _080E969C - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r1, 0x9 - str r1, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - ldr r0, _080E9694 @ =0x06007000 - adds r1, r6, 0 - adds r2, r7, 0 - ldr r3, _080E9698 @ =gUnknown_083DBE1C - bl sub_8095C8C - adds r0, r6, 0 - adds r0, 0xB - b _080E96CC - .align 2, 0 -_080E9690: .4byte 0x0000ffff -_080E9694: .4byte 0x06007000 -_080E9698: .4byte gUnknown_083DBE1C -_080E969C: - ldr r0, _080E9738 @ =0x0000a140 - adds r4, r5, r0 - ldrh r1, [r1] - adds r0, r4, 0 - movs r2, 0xB - bl sub_80EB218 - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl MenuPrint - mov r1, r9 - lsls r0, r1, 1 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x8C - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xB - ldrb r1, [r1] - adds r0, r1 -_080E96CC: - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080E96E4: - ldr r0, _080E973C @ =gUnknown_083DB694 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r8, r0 - bge _080E970A - ldrb r2, [r5, 0xA] - cmp r10, r2 - bcc _080E965A - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - ldr r0, _080E9740 @ =gUnknown_083DBEA8 - bl MenuPrint -_080E970A: - ldr r1, [sp, 0x1C] - lsls r0, r1, 16 - lsrs r7, r0, 16 - ldr r2, [sp, 0x18] - lsls r0, r2, 16 - lsrs r0, 16 - mov r9, r0 - adds r0, r5, 0 -_080E971A: - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r9, r0 - blt _080E9648 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9738: .4byte 0x0000a140 -_080E973C: .4byte gUnknown_083DB694 -_080E9740: .4byte gUnknown_083DBEA8 - thumb_func_end sub_80E9620 - - thumb_func_start sub_80E9744 -sub_80E9744: @ 80E9744 - push {lr} - ldr r0, _080E9760 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E9764 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E97B2 - lsls r0, 2 - ldr r1, _080E9768 @ =_080E976C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9760: .4byte gWindowConfig_81E6D8C -_080E9764: .4byte gUnknown_083DB694 -_080E9768: .4byte _080E976C - .align 2, 0 -_080E976C: - .4byte _080E9792 - .4byte _080E9796 - .4byte _080E97A0 - .4byte _080E97AA - .4byte _080E9784 - .4byte _080E978E -_080E9784: - movs r0, 0x4 - movs r1, 0x6 - bl sub_80E97C0 - b _080E97B2 -_080E978E: - movs r0, 0x2 - b _080E97A2 -_080E9792: - movs r0, 0x3 - b _080E9798 -_080E9796: - movs r0, 0 -_080E9798: - movs r1, 0x5 - bl sub_80E97C0 - b _080E97B2 -_080E97A0: - movs r0, 0x4 -_080E97A2: - movs r1, 0x11 - bl sub_80E97C0 - b _080E97B2 -_080E97AA: - movs r0, 0x3 - movs r1, 0x6 - bl sub_80E97C0 -_080E97B2: - ldr r0, _080E97BC @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_080E97BC: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E9744 - - thumb_func_start sub_80E97C0 -sub_80E97C0: @ 80E97C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r7, 0 - movs r3, 0 - ldr r1, _080E98B8 @ =gUnknown_083DB694 - ldr r0, [r1] - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r3, r0 - bge _080E98A6 -_080E97EA: - ldr r1, [r1] - ldr r0, _080E98BC @ =0x0000a19a - adds r2, r1, r0 - movs r6, 0 - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r4, [sp] - lsls r4, 24 - mov r8, r4 - lsls r4, r5, 24 - mov r9, r4 - adds r5, 0x2 - mov r10, r5 - adds r3, 0x1 - str r3, [sp, 0x4] - cmp r6, r0 - bge _080E985E - ldrb r1, [r1, 0xA] - cmp r7, r1 - bcs _080E985E - ldr r0, _080E98B8 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r5, _080E98C0 @ =0x0000ffff -_080E981E: - lsls r0, r7, 1 - adds r1, r4, 0 - adds r1, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, r5 - beq _080E983E - adds r1, r0, 0 - adds r0, r2, 0 - movs r2, 0 - bl sub_80EB218 - adds r2, r0, 0 - movs r0, 0 - strb r0, [r2] - adds r2, 0x1 -_080E983E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - bge _080E985E - ldrb r0, [r4, 0xA] - cmp r7, r0 - bcc _080E981E -_080E985E: - ldr r1, _080E98B8 @ =gUnknown_083DB694 - ldr r4, [r1] - adds r0, r4, 0 - adds r0, 0x83 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xB - muls r1, r0 - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - lsls r1, 3 - strb r1, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r2, _080E98BC @ =0x0000a19a - adds r0, r4, r2 - mov r3, r8 - lsrs r1, r3, 24 - mov r3, r9 - lsrs r2, r3, 24 - bl MenuPrint - mov r1, r10 - lsls r0, r1, 16 - lsrs r5, r0, 16 - ldr r2, [sp, 0x4] - lsls r0, r2, 24 - lsrs r3, r0, 24 - ldr r1, _080E98B8 @ =gUnknown_083DB694 - adds r4, 0x84 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r3, r0 - blt _080E97EA -_080E98A6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E98B8: .4byte gUnknown_083DB694 -_080E98BC: .4byte 0x0000a19a -_080E98C0: .4byte 0x0000ffff - thumb_func_end sub_80E97C0 - - thumb_func_start sub_80E98C4 -sub_80E98C4: @ 80E98C4 - push {lr} - ldr r0, _080E98E0 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E98E4 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E9936 - lsls r0, 2 - ldr r1, _080E98E8 @ =_080E98EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E98E0: .4byte gWindowConfig_81E6D8C -_080E98E4: .4byte gUnknown_083DB694 -_080E98E8: .4byte _080E98EC - .align 2, 0 -_080E98EC: - .4byte _080E990A - .4byte _080E9910 - .4byte _080E9916 - .4byte _080E991A - .4byte _080E9904 - .4byte _080E990A -_080E9904: - movs r1, 0x4 - movs r3, 0x2 - b _080E991E -_080E990A: - movs r1, 0x3 - movs r3, 0x2 - b _080E991E -_080E9910: - movs r1, 0x1 - movs r3, 0x3 - b _080E991E -_080E9916: - movs r1, 0x4 - b _080E991C -_080E991A: - movs r1, 0x3 -_080E991C: - movs r3, 0x1 -_080E991E: - lsls r3, 1 - adds r3, r1, r3 - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - movs r2, 0x1B - bl MenuFillWindowRectWithBlankTile - ldr r0, _080E993C @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow -_080E9936: - pop {r0} - bx r0 - .align 2, 0 -_080E993C: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E98C4 - - thumb_func_start sub_80E9940 -sub_80E9940: @ 80E9940 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - movs r4, 0x7 - ands r4, r5 - lsls r3, r4, 1 - adds r1, r3, 0 - adds r3, 0x1 - movs r0, 0x2 - movs r2, 0x1F - bl MenuFillWindowRectWithBlankTile - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80E9A7C - lsls r4, 1 - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_80E9A60 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E9940 - - thumb_func_start sub_80E9974 -sub_80E9974: @ 80E9974 - push {r4-r6,lr} - ldr r0, _080E99C4 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - ldr r0, _080E99C8 @ =gUnknown_083DB694 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E99D4 - ldr r1, _080E99CC @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 16 - lsrs r4, r1, 16 - adds r0, 0x4 - cmp r4, r0 - bge _080E9A02 - adds r5, r2, 0 - ldr r2, _080E99CC @ =0x000001b5 - adds r6, r5, r2 -_080E99A4: - lsls r1, r4, 24 - lsrs r1, 24 - ldr r2, _080E99D0 @ =0x0000a0f5 - adds r0, r5, r2 - bl sub_80E9940 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - ldrsb r0, [r6, r0] - adds r0, 0x4 - cmp r4, r0 - blt _080E99A4 - b _080E9A02 - .align 2, 0 -_080E99C4: .4byte gWindowConfig_81E6D54 -_080E99C8: .4byte gUnknown_083DB694 -_080E99CC: .4byte 0x000001b5 -_080E99D0: .4byte 0x0000a0f5 -_080E99D4: - bl sub_80E9AD4 - ldr r4, _080E9A08 @ =gUnknown_083DBEAC - ldr r0, [r4] - movs r1, 0x2 - movs r2, 0 - bl sub_80E9A60 - ldr r0, [r4, 0x4] - movs r1, 0x2 - movs r2, 0x2 - bl sub_80E9A60 - ldr r0, [r4, 0x8] - movs r1, 0x2 - movs r2, 0x4 - bl sub_80E9A60 - ldr r0, [r4, 0xC] - movs r1, 0x2 - movs r2, 0x6 - bl sub_80E9A60 -_080E9A02: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E9A08: .4byte gUnknown_083DBEAC - thumb_func_end sub_80E9974 - - thumb_func_start sub_80E9A14 -sub_80E9A14: @ 80E9A14 - push {lr} - bl sub_80E9A4C - ldr r0, _080E9A44 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E9A40 - movs r0, 0xDD - lsls r0, 1 - adds r2, r1, r0 - ldr r3, _080E9A48 @ =0x000001b5 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 4 - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] -_080E9A40: - pop {r0} - bx r0 - .align 2, 0 -_080E9A44: .4byte gUnknown_083DB694 -_080E9A48: .4byte 0x000001b5 - thumb_func_end sub_80E9A14 - - thumb_func_start sub_80E9A4C -sub_80E9A4C: @ 80E9A4C - ldr r0, _080E9A5C @ =gUnknown_083DB694 - ldr r0, [r0] - movs r2, 0xDD - lsls r2, 1 - adds r1, r0, r2 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080E9A5C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9A4C - - thumb_func_start sub_80E9A60 -sub_80E9A60: @ 80E9A60 - push {lr} - lsls r2, 16 - movs r3, 0xF0 - lsls r3, 12 - ands r3, r2 - lsls r1, 24 - lsrs r1, 24 - lsrs r3, 16 - adds r2, r3, 0 - bl MenuPrint - pop {r0} - bx r0 - thumb_func_end sub_80E9A60 - - thumb_func_start sub_80E9A7C -sub_80E9A7C: @ 80E9A7C - push {r4-r7,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r0, r7, 17 - lsrs r5, r0, 16 - movs r4, 0 - ldr r0, _080E9AD0 @ =gUnknown_083DB694 - ldr r6, [r0] -_080E9A8E: - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x12 - strb r0, [r2, 0x1] - movs r0, 0x58 - muls r0, r4 - strb r0, [r2, 0x2] - adds r2, 0x3 - lsls r1, r7, 1 - adds r1, r4, r1 - adds r0, r6, 0 - adds r0, 0x2A - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0xB - bl sub_80EAD64 - adds r2, r0, 0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r6, 0x28] - cmp r5, r0 - bcs _080E9ACA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E9A8E -_080E9ACA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9AD0: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9A7C - - thumb_func_start sub_80E9AD4 -sub_80E9AD4: @ 80E9AD4 - push {r4,lr} - ldr r0, _080E9AF4 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - movs r4, 0 -_080E9ADE: - adds r0, r4, 0 - bl sub_80E9C74 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _080E9ADE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E9AF4: .4byte gWindowConfig_81E6D54 - thumb_func_end sub_80E9AD4 - - thumb_func_start sub_80E9AF8 -sub_80E9AF8: @ 80E9AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r7, 0 - bl sub_80E9C74 - ldr r4, _080E9B7C @ =gUnknown_083DB694 - ldr r5, [r4] - ldr r0, _080E9B80 @ =0x0000a140 - adds r0, r5 - mov r8, r0 - movs r0, 0xFC - mov r1, r8 - strb r0, [r1] - movs r0, 0x11 - strb r0, [r1, 0x1] - movs r0, 0x10 - strb r0, [r1, 0x2] - ldr r2, _080E9B84 @ =0x0000a143 - adds r2, r5 - mov r8, r2 - adds r0, r5, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _080E9BF4 - movs r6, 0 - ldr r3, _080E9B88 @ =0x00009cd2 - adds r0, r5, r3 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - blt _080E9B4A - b _080E9C52 -_080E9B4A: - lsls r0, r7, 2 - mov r9, r0 - ldr r1, _080E9B8C @ =0x00009d56 - adds r1, r5, r1 - str r1, [sp] - lsls r2, r7, 17 - mov r10, r2 -_080E9B58: - lsls r4, r6, 1 - mov r3, r9 - adds r0, r4, r3 - ldr r1, [sp] - adds r0, r1, r0 - ldrh r0, [r0] - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - adds r5, r4, 0 - cmp r0, 0x7 - bne _080E9B94 - ldr r0, _080E9B90 @ =gWindowConfig_81E6D70 - bl BasicInitMenuWindow - b _080E9B9A - .align 2, 0 -_080E9B7C: .4byte gUnknown_083DB694 -_080E9B80: .4byte 0x0000a140 -_080E9B84: .4byte 0x0000a143 -_080E9B88: .4byte 0x00009cd2 -_080E9B8C: .4byte 0x00009d56 -_080E9B90: .4byte gWindowConfig_81E6D70 -_080E9B94: - ldr r0, _080E9BE0 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow -_080E9B9A: - ldr r2, _080E9BE4 @ =gUnknown_083DB694 - ldr r4, [r2] - mov r3, r9 - adds r1, r5, r3 - ldr r2, _080E9BE8 @ =0x00009d56 - adds r0, r4, r2 - adds r0, r1 - ldrh r1, [r0] - mov r0, r8 - movs r2, 0x9 - bl sub_80EB218 - ldr r3, _080E9BEC @ =0x0000a140 - adds r0, r4, r3 - movs r1, 0xB - muls r1, r6 - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - mov r3, r10 - lsrs r2, r3, 16 - bl sub_80E9A60 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _080E9BF0 @ =0x00009cd2 - adds r4, r0 - adds r4, r7 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r6, r0 - blt _080E9B58 - b _080E9C52 - .align 2, 0 -_080E9BE0: .4byte gWindowConfig_81E6D54 -_080E9BE4: .4byte gUnknown_083DB694 -_080E9BE8: .4byte 0x00009d56 -_080E9BEC: .4byte 0x0000a140 -_080E9BF0: .4byte 0x00009cd2 -_080E9BF4: - ldr r0, _080E9C64 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - movs r6, 0 - ldr r1, _080E9C68 @ =0x00009cd2 - adds r0, r5, r1 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - bge _080E9C52 - adds r4, r5, 0 - adds r0, r4, r1 - adds r0, r7 - mov r9, r0 - lsls r5, r7, 17 -_080E9C16: - lsls r1, r6, 1 - lsls r0, r7, 2 - adds r1, r0 - ldr r2, _080E9C6C @ =0x00009d56 - adds r0, r4, r2 - adds r0, r1 - ldrh r1, [r0] - mov r0, r8 - movs r2, 0x9 - bl sub_80EB218 - movs r0, 0xB - adds r1, r6, 0 - muls r1, r0 - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _080E9C70 @ =0x0000a140 - adds r0, r4, r3 - lsrs r2, r5, 16 - bl sub_80E9A60 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r9 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r6, r0 - blt _080E9C16 -_080E9C52: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9C64: .4byte gWindowConfig_81E6D54 -_080E9C68: .4byte 0x00009cd2 -_080E9C6C: .4byte 0x00009d56 -_080E9C70: .4byte 0x0000a140 - thumb_func_end sub_80E9AF8 - - thumb_func_start sub_80E9C74 -sub_80E9C74: @ 80E9C74 - push {lr} - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - lsrs r1, 16 - lsls r3, r1, 1 - adds r1, r3, 0 - adds r3, 0x1 - movs r0, 0 - movs r2, 0x1D - bl MenuFillWindowRectWithBlankTile - pop {r0} - bx r0 - thumb_func_end sub_80E9C74 - - thumb_func_start sub_80E9C94 -sub_80E9C94: @ 80E9C94 - push {r4-r6,lr} - ldr r0, _080E9CAC @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r2, _080E9CB0 @ =0x00009d54 - adds r1, r0, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x3 - bgt _080E9CB4 - lsls r0, 16 - lsrs r0, 16 - b _080E9CB6 - .align 2, 0 -_080E9CAC: .4byte gUnknown_083DB694 -_080E9CB0: .4byte 0x00009d54 -_080E9CB4: - movs r0, 0x4 -_080E9CB6: - adds r5, r0, 0 - movs r4, 0 - cmp r4, r5 - bcs _080E9CF4 - ldr r0, _080E9CE0 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E9CE4 @ =0x00009d55 - adds r6, r0, r1 -_080E9CC6: - movs r0, 0 - ldrsb r0, [r6, r0] - adds r0, r4, r0 - lsls r0, 16 - lsrs r0, 16 - bl sub_80E9AF8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bcc _080E9CC6 - b _080E9CF4 - .align 2, 0 -_080E9CE0: .4byte gUnknown_083DB694 -_080E9CE4: .4byte 0x00009d55 -_080E9CE8: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r4, r1, 16 - bl sub_80E9C74 -_080E9CF4: - cmp r4, 0x3 - bls _080E9CE8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E9C94 - - thumb_func_start sub_80E9D00 -sub_80E9D00: @ 80E9D00 - push {r4-r6,lr} - ldr r0, _080E9D28 @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080E9D30 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _080E9D2C @ =0x00009d55 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 - b _080E9D46 - .align 2, 0 -_080E9D28: .4byte gUnknown_083DB694 -_080E9D2C: .4byte 0x00009d55 -_080E9D30: - movs r0, 0 - ldrsb r0, [r1, r0] - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _080E9D74 @ =0x00009d55 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, r4 -_080E9D46: - lsls r0, 16 - lsrs r5, r0, 16 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080E9D78 @ =0x0000ffff - cmp r4, r0 - beq _080E9D6E - adds r6, r0, 0 -_080E9D58: - adds r0, r5, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r5, r1, 16 - bl sub_80E9AF8 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r6 - bne _080E9D58 -_080E9D6E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E9D74: .4byte 0x00009d55 -_080E9D78: .4byte 0x0000ffff - thumb_func_end sub_80E9D00 - - thumb_func_start sub_80E9D7C -sub_80E9D7C: @ 80E9D7C - push {r4-r7,lr} - ldr r0, _080E9DAC @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - ldr r0, _080E9DB0 @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _080E9DB8 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _080E9DB4 @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, r6 - b _080E9DCC - .align 2, 0 -_080E9DAC: .4byte gWindowConfig_81E6D54 -_080E9DB0: .4byte gUnknown_083DB694 -_080E9DB4: .4byte 0x000001b5 -_080E9DB8: - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _080E9DFC @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 -_080E9DCC: - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0 - cmp r5, r6 - bcs _080E9DF6 - ldr r0, _080E9E00 @ =gUnknown_083DB694 - ldr r7, [r0] -_080E9DDA: - lsls r1, r4, 24 - lsrs r1, 24 - ldr r2, _080E9E04 @ =0x0000a0f5 - adds r0, r7, r2 - bl sub_80E9940 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r6 - bcc _080E9DDA -_080E9DF6: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9DFC: .4byte 0x000001b5 -_080E9E00: .4byte gUnknown_083DB694 -_080E9E04: .4byte 0x0000a0f5 - thumb_func_end sub_80E9D7C - - thumb_func_start sub_80E9E08 -sub_80E9E08: @ 80E9E08 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E9E4C @ =gUnknown_083DB694 - ldr r3, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r1, r3, r0 - movs r5, 0xE0 - lsls r5, 1 - adds r2, r3, r5 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 4 - ldrh r1, [r1] - adds r0, r1 - movs r1, 0x7F - ands r0, r1 - subs r5, 0x4 - adds r1, r3, r5 - strh r0, [r1] - adds r1, r4, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - bge _080E9E3E - negs r1, r4 -_080E9E3E: - ldr r2, _080E9E50 @ =0x000001bf - adds r0, r3, r2 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E9E4C: .4byte gUnknown_083DB694 -_080E9E50: .4byte 0x000001bf - thumb_func_end sub_80E9E08 - - thumb_func_start sub_80E9E54 -sub_80E9E54: @ 80E9E54 - push {r4,lr} - ldr r0, _080E9E8C @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r3, r2, r0 - ldr r1, _080E9E90 @ =0x000001bf - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r4, [r3] - adds r0, r4 - movs r1, 0x7F - ands r0, r1 - strh r0, [r3] - movs r3, 0 - movs r4, 0xDE - lsls r4, 1 - adds r1, r2, r4 - ldrh r1, [r1] - cmp r0, r1 - bne _080E9E84 - movs r3, 0x1 -_080E9E84: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E9E8C: .4byte gUnknown_083DB694 -_080E9E90: .4byte 0x000001bf - thumb_func_end sub_80E9E54 - - thumb_func_start nullsub_23 -nullsub_23: @ 80E9E94 - bx lr - thumb_func_end nullsub_23 - - thumb_func_start sub_80E9E98 -sub_80E9E98: @ 80E9E98 - ldr r0, _080E9EA4 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - movs r1, 0 - strh r1, [r0] - bx lr - .align 2, 0 -_080E9EA4: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9E98 - - thumb_func_start sub_80E9EA8 -sub_80E9EA8: @ 80E9EA8 - push {lr} - ldr r1, _080E9EC4 @ =gUnknown_083DB694 - ldr r0, [r1] - adds r0, 0xBE - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bhi _080E9F48 - lsls r0, 2 - ldr r1, _080E9EC8 @ =_080E9ECC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9EC4: .4byte gUnknown_083DB694 -_080E9EC8: .4byte _080E9ECC - .align 2, 0 -_080E9ECC: - .4byte _080E9EE4 - .4byte _080E9EF4 - .4byte _080E9F0C - .4byte _080E9F24 - .4byte _080E9F38 - .4byte _080E9F44 -_080E9EE4: - bl sub_80EA24C - ldr r0, _080E9F08 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080E9EF4: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - bl sub_80EA4A4 - ldr r0, _080E9F08 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F08: .4byte gUnknown_083DB694 -_080E9F0C: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - bl sub_80EA704 - ldr r0, _080E9F20 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F20: .4byte gUnknown_083DB694 -_080E9F24: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - ldr r0, _080E9F34 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F34: .4byte gUnknown_083DB694 -_080E9F38: - ldr r1, [r2] -_080E9F3A: - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080E9F48 -_080E9F44: - movs r0, 0x1 - b _080E9F4A -_080E9F48: - movs r0, 0 -_080E9F4A: - pop {r1} - bx r1 - thumb_func_end sub_80E9EA8 - - thumb_func_start sub_80E9F50 -sub_80E9F50: @ 80E9F50 - push {lr} - ldr r0, _080E9F68 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x6 - bhi _080E9FCC - lsls r0, 2 - ldr r1, _080E9F6C @ =_080E9F70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9F68: .4byte gUnknown_083DB694 -_080E9F6C: .4byte _080E9F70 - .align 2, 0 -_080E9F70: - .4byte _080E9F8C - .4byte _080E9FAC - .4byte _080E9F96 - .4byte _080E9FAC - .4byte _080E9F9C - .4byte _080E9FAC - .4byte _080E9FC8 -_080E9F8C: - bl nullsub_23 - bl sub_80EA764 - b _080E9FA0 -_080E9F96: - bl sub_80EA5A0 - b _080E9FA0 -_080E9F9C: - bl sub_80EA348 -_080E9FA0: - ldr r0, _080E9FC4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080E9FAC: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9FCC - ldr r0, _080E9FC4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080E9FCC - .align 2, 0 -_080E9FC4: .4byte gUnknown_083DB694 -_080E9FC8: - movs r0, 0x1 - b _080E9FCE -_080E9FCC: - movs r0, 0 -_080E9FCE: - pop {r1} - bx r1 - thumb_func_end sub_80E9F50 - - thumb_func_start sub_80E9FD4 -sub_80E9FD4: @ 80E9FD4 - push {r4,lr} - ldr r0, _080E9FEC @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0 - beq _080E9FF0 - cmp r0, 0x1 - beq _080E9FFE - b _080EA00C - .align 2, 0 -_080E9FEC: .4byte gUnknown_083DB694 -_080E9FF0: - bl nullsub_23 - bl sub_80EA5A0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080E9FFE: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA00C - movs r0, 0x1 - b _080EA00E -_080EA00C: - movs r0, 0 -_080EA00E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E9FD4 - - thumb_func_start sub_80EA014 -sub_80EA014: @ 80EA014 - push {r4,lr} - ldr r0, _080EA02C @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0 - beq _080EA030 - cmp r0, 0x1 - beq _080EA03A - b _080EA048 - .align 2, 0 -_080EA02C: .4byte gUnknown_083DB694 -_080EA030: - bl sub_80EA4A4 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080EA03A: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA048 - movs r0, 0x1 - b _080EA04A -_080EA048: - movs r0, 0 -_080EA04A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80EA014 - - thumb_func_start sub_80EA050 -sub_80EA050: @ 80EA050 - push {lr} - ldr r0, _080EA068 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080EA0DC - lsls r0, 2 - ldr r1, _080EA06C @ =_080EA070 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EA068: .4byte gUnknown_083DB694 -_080EA06C: .4byte _080EA070 - .align 2, 0 -_080EA070: - .4byte _080EA084 - .4byte _080EA08E - .4byte _080EA09E - .4byte _080EA0B4 - .4byte _080EA0D8 -_080EA084: - bl nullsub_23 - bl sub_80EA764 - b _080EA0C4 -_080EA08E: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC - bl sub_80EA7F4 - b _080EA0C4 -_080EA09E: - movs r0, 0x1 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC - bl sub_80EA8BC - b _080EA0C4 -_080EA0B4: - movs r0, 0x1 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC -_080EA0C4: - ldr r0, _080EA0D4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA0DC - .align 2, 0 -_080EA0D4: .4byte gUnknown_083DB694 -_080EA0D8: - movs r0, 0x1 - b _080EA0DE -_080EA0DC: - movs r0, 0 -_080EA0DE: - pop {r1} - bx r1 - thumb_func_end sub_80EA050 - - thumb_func_start sub_80EA0E4 -sub_80EA0E4: @ 80EA0E4 - push {lr} - ldr r0, _080EA0FC @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080EA17C - lsls r0, 2 - ldr r1, _080EA100 @ =_080EA104 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EA0FC: .4byte gUnknown_083DB694 -_080EA100: .4byte _080EA104 - .align 2, 0 -_080EA104: - .4byte _080EA118 - .4byte _080EA128 - .4byte _080EA144 - .4byte _080EA15C - .4byte _080EA178 -_080EA118: - bl sub_80EA948 - ldr r0, _080EA140 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EA128: - movs r0, 0x1 - negs r0, r0 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C - bl sub_80EAA44 - b _080EA166 - .align 2, 0 -_080EA140: .4byte gUnknown_083DB694 -_080EA144: - movs r0, 0x1 - negs r0, r0 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C - bl sub_80EA704 - b _080EA166 -_080EA15C: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C -_080EA166: - ldr r0, _080EA174 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA17C - .align 2, 0 -_080EA174: .4byte gUnknown_083DB694 -_080EA178: - movs r0, 0x1 - b _080EA17E -_080EA17C: - movs r0, 0 -_080EA17E: - pop {r1} - bx r1 - thumb_func_end sub_80EA0E4 - - thumb_func_start sub_80EA184 -sub_80EA184: @ 80EA184 - push {r4,lr} - ldr r0, _080EA1A0 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0x1 - beq _080EA1B4 - cmp r0, 0x1 - bgt _080EA1A4 - cmp r0, 0 - beq _080EA1AA - b _080EA1D8 - .align 2, 0 -_080EA1A0: .4byte gUnknown_083DB694 -_080EA1A4: - cmp r0, 0x2 - beq _080EA1D0 - b _080EA1D8 -_080EA1AA: - bl sub_80EAAD4 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080EA1B4: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA1D8 - ldr r0, _080EA1CC @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA1D8 - .align 2, 0 -_080EA1CC: .4byte gUnknown_083DB694 -_080EA1D0: - bl sub_80E9178 - movs r0, 0x1 - b _080EA1DA -_080EA1D8: - movs r0, 0 -_080EA1DA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80EA184 - - thumb_func_start sub_80EA1E0 -sub_80EA1E0: @ 80EA1E0 - push {r4-r6,lr} - ldr r0, _080EA240 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xC4 - ldrh r0, [r0] - cmp r0, 0 - beq _080EA244 - movs r4, 0 - adds r0, r1, 0 - adds r0, 0xC2 - ldrh r2, [r0] - cmp r4, r2 - bcs _080EA228 - adds r5, r1, 0 - adds r6, r0, 0 -_080EA200: - lsls r0, r4, 4 - adds r0, 0xC8 - adds r0, r5, r0 - bl sub_80EAC0C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r5, r0 - bl sub_80EAC48 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r2, [r6] - cmp r4, r2 - bcc _080EA200 -_080EA228: - ldr r0, _080EA240 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xBC - movs r0, 0x1 - strb r0, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _080EA246 - .align 2, 0 -_080EA240: .4byte gUnknown_083DB694 -_080EA244: - movs r0, 0x1 -_080EA246: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80EA1E0 - - thumb_func_start sub_80EA24C -sub_80EA24C: @ 80EA24C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA340 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - ldr r1, _080EA344 @ =0x0000fffe - mov r8, r1 - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xD - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - mov r9, r1 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0xC - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x1E - movs r2, 0 - mov r3, r8 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r6, 0x10 - str r6, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xD - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r9 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0xC - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x1E - movs r2, 0x9 - mov r3, r8 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA340: .4byte gUnknown_083DB694 -_080EA344: .4byte 0x0000fffe - thumb_func_end sub_80EA24C - - thumb_func_start sub_80EA348 -sub_80EA348: @ 80EA348 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA49C @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r5, 0xF - str r5, [sp] - movs r1, 0x2 - mov r9, r1 - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r6, r7, r1 - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, _080EA4A0 @ =0x0000fffe - mov r8, r1 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0x2 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r5, 0x10 - str r5, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x9 - movs r3, 0x2 - bl sub_80EAC30 - movs r1, 0x84 - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r9 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0x1 - bl sub_80EABD4 - movs r1, 0xBC - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x50 - adds r6, r7, r1 - str r6, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x18 - movs r2, 0xE - mov r3, r8 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xC2 - movs r1, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA49C: .4byte gUnknown_083DB694 -_080EA4A0: .4byte 0x0000fffe - thumb_func_end sub_80EA348 - - thumb_func_start sub_80EA4A4 -sub_80EA4A4: @ 80EA4A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA598 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _080EA59C @ =0x0000ffff - mov r8, r1 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0x10 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r6, 0x1 - str r6, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xC2 - movs r1, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA598: .4byte gUnknown_083DB694 -_080EA59C: .4byte 0x0000ffff - thumb_func_end sub_80EA4A4 - - thumb_func_start sub_80EA5A0 -sub_80EA5A0: @ 80EA5A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA6FC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r1, 0x1 - mov r8, r1 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r2, 0xA - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0x14 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - ldr r6, _080EA700 @ =0x0000ffff - str r6, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x84 - lsls r1, 1 - adds r0, r7, r1 - movs r1, 0xA - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - mov r1, r8 - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xBC - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x50 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x14 - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r7, r1 - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x14 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x6 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x4 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA6FC: .4byte gUnknown_083DB694 -_080EA700: .4byte 0x0000ffff - thumb_func_end sub_80EA5A0 - - thumb_func_start sub_80EA704 -sub_80EA704: @ 80EA704 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EA75C @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r1, 0x14 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r5, 0x1 - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xC - movs r3, 0x19 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - ldr r3, _080EA760 @ =0x0000ffff - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x5 - movs r2, 0xA - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xC2 - strh r5, [r0] - adds r1, r6, 0 - adds r1, 0xC4 - movs r0, 0x5 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EA75C: .4byte gUnknown_083DB694 -_080EA760: .4byte 0x0000ffff - thumb_func_end sub_80EA704 - - thumb_func_start sub_80EA764 -sub_80EA764: @ 80EA764 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, _080EA7EC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r5, _080EA7F0 @ =0x0000ffff - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xC - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1E - movs r2, 0xC - movs r3, 0x1F - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0x1E - movs r2, 0xC - adds r3, r5, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6 - strh r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA7EC: .4byte gUnknown_083DB694 -_080EA7F0: .4byte 0x0000ffff - thumb_func_end sub_80EA764 - - thumb_func_start sub_80EA7F4 -sub_80EA7F4: @ 80EA7F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r0, _080EA8B4 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r5, 0x1 - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x14 - movs r2, 0xA - movs r3, 0x19 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - ldr r3, _080EA8B8 @ =0x0000ffff - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r2, r7 - mov r8, r2 - str r2, [sp, 0x4] - movs r1, 0x19 - movs r2, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0x4 - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r2, r8 - str r2, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x3 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - strh r0, [r1] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA8B4: .4byte gUnknown_083DB694 -_080EA8B8: .4byte 0x0000ffff - thumb_func_end sub_80EA7F4 - - thumb_func_start sub_80EA8BC -sub_80EA8BC: @ 80EA8BC - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EA944 @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r5, 0x14 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x3 - movs r2, 0xA - movs r3, 0x4 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x2 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r1, r6, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EA944: .4byte gUnknown_083DB694 - thumb_func_end sub_80EA8BC - - thumb_func_start sub_80EA948 -sub_80EA948: @ 80EA948 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EAA3C @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r5, _080EAA40 @ =0x0000ffff - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x2 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x80 - adds r1, r7 - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x3 - movs r2, 0xA - movs r3, 0x5 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r1, r7 - mov r8, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1A - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r1, r9 - str r1, [sp, 0x4] - movs r1, 0x1A - movs r2, 0xA - adds r3, r5, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x19 - movs r2, 0xA - movs r3, 0x1A - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0x1D - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EAA3C: .4byte gUnknown_083DB694 -_080EAA40: .4byte 0x0000ffff - thumb_func_end sub_80EA948 - - thumb_func_start sub_80EAA44 -sub_80EAA44: @ 80EAA44 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EAACC @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r5, 0x14 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x18 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, _080EAAD0 @ =0x0000ffff - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x17 - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x1D - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r6, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EAACC: .4byte gUnknown_083DB694 -_080EAAD0: .4byte 0x0000ffff - thumb_func_end sub_80EAA44 - - thumb_func_start sub_80EAAD4 -sub_80EAAD4: @ 80EAAD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EABCC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r1, 0xF - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r5, 0x1 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r1, r7 - mov r8, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - movs r1, 0x14 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - ldr r6, _080EABD0 @ =0x0000ffff - str r6, [sp, 0x10] - movs r1, 0 - movs r2, 0xF - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0xA - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r5, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x68 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0x14 - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x14 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EABCC: .4byte gUnknown_083DB694 -_080EABD0: .4byte 0x0000ffff - thumb_func_end sub_80EAAD4 - - thumb_func_start sub_80EABD4 -sub_80EABD4: @ 80EABD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r5, [sp, 0x1C] - ldr r6, [sp, 0x20] - ldr r4, [sp, 0x24] - mov r9, r4 - ldr r4, [sp, 0x28] - ldr r7, [sp, 0x2C] - mov r8, r7 - strh r1, [r0] - strh r3, [r0, 0x2] - strh r2, [r0, 0x4] - strh r5, [r0, 0x6] - strh r6, [r0, 0x8] - strh r4, [r0, 0xA] - mov r1, r9 - strh r1, [r0, 0xC] - mov r4, r8 - strh r4, [r0, 0xE] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80EABD4 - - thumb_func_start sub_80EAC0C -sub_80EAC0C: @ 80EAC0C - ldrh r1, [r0, 0x8] - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] - ldrh r1, [r0, 0xA] - ldrh r2, [r0, 0x2] - adds r1, r2 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0xC] - ldrh r2, [r0, 0x4] - adds r1, r2 - strh r1, [r0, 0x4] - ldrh r1, [r0, 0xE] - ldrh r2, [r0, 0x6] - adds r1, r2 - strh r1, [r0, 0x6] - bx lr - thumb_func_end sub_80EAC0C - - thumb_func_start sub_80EAC30 -sub_80EAC30: @ 80EAC30 - push {r4,r5,lr} - ldr r4, [sp, 0xC] - ldr r5, [sp, 0x10] - strh r1, [r0] - strh r2, [r0, 0x2] - strh r3, [r0, 0x4] - strh r4, [r0, 0x6] - str r5, [r0, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80EAC30 - - thumb_func_start sub_80EAC48 -sub_80EAC48: @ 80EAC48 - ldrh r1, [r0, 0x4] - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] - ldrh r1, [r0, 0x6] - ldrh r2, [r0, 0x2] - adds r1, r2 - strh r1, [r0, 0x2] - bx lr - thumb_func_end sub_80EAC48 - - thumb_func_start sub_80EAC5C -sub_80EAC5C: @ 80EAC5C - push {r4-r6,lr} - ldr r0, _080EACB4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xBC - ldrb r0, [r0] - cmp r0, 0 - beq _080EACAC - movs r4, 0 - adds r0, r1, 0 - adds r0, 0xC2 - ldrh r2, [r0] - cmp r4, r2 - bcs _080EACA2 - adds r5, r1, 0 - adds r6, r0, 0 -_080EAC7C: - lsls r1, r4, 4 - adds r1, 0xC8 - adds r1, r5, r1 - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - movs r0, 0xA4 - lsls r0, 1 - adds r2, r0 - adds r2, r5, r2 - ldr r0, _080EACB8 @ =0x06006800 - bl sub_80EACBC - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r2, [r6] - cmp r4, r2 - bcc _080EAC7C -_080EACA2: - ldr r0, _080EACB4 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBC - movs r1, 0 - strb r1, [r0] -_080EACAC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EACB4: .4byte gUnknown_083DB694 -_080EACB8: .4byte 0x06006800 - thumb_func_end sub_80EAC5C - - thumb_func_start sub_80EACBC -sub_80EACBC: @ 80EACBC - push {r4-r7,lr} - sub sp, 0x10 - adds r7, r0, 0 - adds r3, r1, 0 - adds r4, r2, 0 - ldrh r2, [r3, 0x2] - ldrh r0, [r3] - subs r2, r0 - ldrh r0, [r3, 0x6] - ldrh r1, [r3, 0x4] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - lsls r6, r2, 16 - cmp r6, 0 - ble _080EACFE - lsls r5, r0, 16 - cmp r5, 0 - ble _080EACFE - ldrh r1, [r3] - ldrh r2, [r3, 0x4] - ldr r3, [r4, 0x8] - ldrh r0, [r4] - str r0, [sp] - ldrh r0, [r4, 0x2] - str r0, [sp, 0x4] - lsrs r0, r6, 16 - str r0, [sp, 0x8] - lsrs r0, r5, 16 - str r0, [sp, 0xC] - adds r0, r7, 0 - bl sub_809D104 -_080EACFE: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80EACBC - - thumb_func_start sub_80EAD08 -sub_80EAD08: @ 80EAD08 - push {r4,r5,lr} - ldr r0, _080EAD58 @ =gUnknown_03004DC0 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _080EAD5C @ =gUnknown_03004DE0 - adds r4, r0, r1 - adds r4, 0xB0 - ldr r0, _080EAD60 @ =gUnknown_083DB694 - ldr r1, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - adds r2, r0, 0 - subs r2, 0x58 - movs r0, 0xFF - ands r2, r0 - movs r3, 0 - movs r5, 0xFF -_080EAD32: - ldrh r0, [r1] - adds r0, r3 - cmp r0, 0x80 - bne _080EAD42 - negs r0, r3 - adds r2, r0, 0 - subs r2, 0x58 - ands r2, r5 -_080EAD42: - strh r2, [r4] - adds r4, 0x2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3F - bls _080EAD32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EAD58: .4byte gUnknown_03004DC0 -_080EAD5C: .4byte gUnknown_03004DE0 -_080EAD60: .4byte gUnknown_083DB694 - thumb_func_end sub_80EAD08 - - thumb_func_start sub_80EAD64 -sub_80EAD64: @ 80EAD64 - push {lr} - lsls r1, 24 - ldr r2, _080EAD78 @ =gEasyChatGroupNames - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r1} - bx r1 - .align 2, 0 -_080EAD78: .4byte gEasyChatGroupNames - thumb_func_end sub_80EAD64 - - thumb_func_start sub_80EAD7C -sub_80EAD7C: @ 80EAD7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x14 - beq _080EADA2 - cmp r0, 0x14 - bgt _080EAD9C - cmp r0, 0x11 - blt _080EADBA - ldr r0, _080EAD98 @ =0x00000804 - bl FlagGet - b _080EADB4 - .align 2, 0 -_080EAD98: .4byte 0x00000804 -_080EAD9C: - cmp r1, 0x15 - beq _080EADB0 - b _080EADBA -_080EADA2: - ldr r0, _080EADAC @ =0x00000806 - bl FlagGet - b _080EADB4 - .align 2, 0 -_080EADAC: .4byte 0x00000806 -_080EADB0: - bl sub_80EB9C8 -_080EADB4: - lsls r0, 24 - lsrs r0, 24 - b _080EADBC -_080EADBA: - movs r0, 0x1 -_080EADBC: - pop {r1} - bx r1 - thumb_func_end sub_80EAD7C - - thumb_func_start sub_80EADC0 -sub_80EADC0: @ 80EADC0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - cmp r2, 0x15 - bhi _080EAE82 - lsls r0, r2, 2 - ldr r1, _080EADD8 @ =_080EADDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EADD8: .4byte _080EADDC - .align 2, 0 -_080EADDC: - .4byte _080EAE50 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE62 - .4byte _080EAE62 - .4byte _080EAE62 - .4byte _080EAE34 - .4byte _080EAE78 -_080EAE34: - ldr r0, _080EAE4C @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, r2 - adds r0, 0x67 - ldrb r0, [r0] - cmp r0, 0 - beq _080EAE70 - lsls r0, r3, 24 - lsrs r0, 24 - bl sub_80EB868 - b _080EAE7C - .align 2, 0 -_080EAE4C: .4byte gUnknown_083DB694 -_080EAE50: - adds r0, r3, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - b _080EAE7C -_080EAE62: - ldr r0, _080EAE74 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, r2 - adds r0, 0x67 - ldrb r0, [r0] - cmp r0, 0 - bne _080EAE82 -_080EAE70: - movs r0, 0 - b _080EAE84 - .align 2, 0 -_080EAE74: .4byte gUnknown_083DB694 -_080EAE78: - bl sub_80EB9C8 -_080EAE7C: - lsls r0, 24 - lsrs r0, 24 - b _080EAE84 -_080EAE82: - movs r0, 0x1 -_080EAE84: - pop {r1} - bx r1 - thumb_func_end sub_80EADC0 - - thumb_func_start sub_80EAE88 -sub_80EAE88: @ 80EAE88 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080EAEA6 - cmp r4, 0x14 - beq _080EAEB2 - adds r0, r4, 0 - bl sub_80EAD7C - lsls r0, 24 - cmp r0, 0 - bne _080EAEBC - movs r0, 0 - b _080EAEC2 -_080EAEA6: - movs r0, 0 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r0, 16 - b _080EAEC2 -_080EAEB2: - bl sub_80EB8C0 - lsls r0, 24 - lsrs r0, 24 - b _080EAEC2 -_080EAEBC: - ldr r0, _080EAEC8 @ =gEasyChatGroupSizes - adds r0, r4, r0 - ldrb r0, [r0] -_080EAEC2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080EAEC8: .4byte gEasyChatGroupSizes - thumb_func_end sub_80EAE88 - - thumb_func_start sub_80EAECC -sub_80EAECC: @ 80EAECC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r7, 0 - ldr r1, _080EAF08 @ =gUnknown_083DB694 - ldr r0, [r1] - ldr r3, _080EAF0C @ =0x0000446c - adds r3, r0, r3 - str r3, [sp, 0x4] -_080EAEE4: - ldr r1, _080EAF10 @ =gEasyChatWordsByLetter - lsls r2, r7, 1 - adds r0, r2, r1 - ldrh r4, [r0] - adds r3, r7, 0x1 - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - str r0, [sp] - ldr r0, [sp, 0x4] - adds r1, r0, r2 - movs r0, 0 - strh r0, [r1] - mov r9, r0 - adds r6, r4, 0 - mov r10, r2 - str r3, [sp, 0x8] - b _080EB00C - .align 2, 0 -_080EAF08: .4byte gUnknown_083DB694 -_080EAF0C: .4byte 0x0000446c -_080EAF10: .4byte gEasyChatWordsByLetter -_080EAF14: - ldr r2, _080EAFAC @ =gEasyChatWordsAlphabetized - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r4, r1, 0 - ldr r0, _080EAFB0 @ =0x0000feff - cmp r1, r0 - bls _080EAFC8 - movs r0, 0xFF - ands r1, r0 - movs r3, 0 - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080EAFB4 @ =0x0000ffff - cmp r5, r0 - beq _080EB00C - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 3 - subs r0, r7 - lsls r0, 2 - mov r8, r0 -_080EAF4A: - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 1 - ldr r0, _080EAFAC @ =gEasyChatWordsAlphabetized - adds r1, r0 - ldrh r4, [r1] - lsrs r0, r4, 9 - ldr r1, _080EAFB8 @ =0x000001ff - adds r2, r1, 0 - adds r1, r4, 0 - ands r1, r2 - str r3, [sp, 0xC] - bl sub_80EADC0 - lsls r0, 24 - ldr r3, [sp, 0xC] - cmp r0, 0 - beq _080EAF9E - cmp r3, 0 - bne _080EAF9E - ldr r3, _080EAFBC @ =gUnknown_083DB694 - ldr r2, [r3] - mov r1, r9 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 1 - add r1, r8 - ldr r3, _080EAFC0 @ =0x00000b78 - adds r0, r2, r3 - adds r0, r1 - strh r4, [r0] - ldr r0, _080EAFC4 @ =0x0000446c - adds r2, r0 - add r2, r10 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - movs r3, 0x1 -_080EAF9E: - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080EAFB4 @ =0x0000ffff - cmp r5, r1 - bne _080EAF4A - b _080EB00C - .align 2, 0 -_080EAFAC: .4byte gEasyChatWordsAlphabetized -_080EAFB0: .4byte 0x0000feff -_080EAFB4: .4byte 0x0000ffff -_080EAFB8: .4byte 0x000001ff -_080EAFBC: .4byte gUnknown_083DB694 -_080EAFC0: .4byte 0x00000b78 -_080EAFC4: .4byte 0x0000446c -_080EAFC8: - lsrs r0, r4, 9 - ldr r3, _080EB030 @ =0x000001ff - adds r2, r3, 0 - adds r1, r4, 0 - ands r1, r2 - bl sub_80EADC0 - lsls r0, 24 - cmp r0, 0 - beq _080EB00C - ldr r0, _080EB034 @ =gUnknown_083DB694 - ldr r2, [r0] - mov r1, r9 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 1 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 3 - subs r0, r7 - lsls r0, 2 - adds r1, r0 - ldr r3, _080EB038 @ =0x00000b78 - adds r0, r2, r3 - adds r0, r1 - strh r4, [r0] - ldr r0, _080EB03C @ =0x0000446c - adds r2, r0 - add r2, r10 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_080EB00C: - ldr r1, [sp] - cmp r6, r1 - bcs _080EB014 - b _080EAF14 -_080EB014: - ldr r3, [sp, 0x8] - lsls r0, r3, 16 - lsrs r7, r0, 16 - cmp r7, 0x1A - bhi _080EB020 - b _080EAEE4 -_080EB020: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB030: .4byte 0x000001ff -_080EB034: .4byte gUnknown_083DB694 -_080EB038: .4byte 0x00000b78 -_080EB03C: .4byte 0x0000446c - thumb_func_end sub_80EAECC - - thumb_func_start sub_80EB040 -sub_80EB040: @ 80EB040 - push {r4-r6,lr} - movs r3, 0 -_080EB044: - adds r6, r3, 0x1 - cmp r3, 0 - beq _080EB094 - cmp r3, 0x15 - beq _080EB094 - cmp r3, 0x12 - beq _080EB094 - cmp r3, 0x13 - beq _080EB094 - ldr r0, _080EB0A4 @ =gEasyChatGroupWords - lsls r1, r3, 2 - adds r1, r0 - ldr r2, [r1] - movs r4, 0 - ldrb r0, [r2] - cmp r0, 0xFF - beq _080EB094 - ldr r0, _080EB0A8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080EB0AC @ =0x000044d0 - adds r5, r0, r1 -_080EB06E: - lsls r0, r4, 2 - lsls r1, r3, 10 - adds r0, r1 - adds r0, r5, r0 - str r2, [r0] - ldrb r0, [r2] - adds r1, r4, 0x1 - cmp r0, 0xFF - beq _080EB088 -_080EB080: - adds r2, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080EB080 -_080EB088: - adds r2, 0x1 - lsls r0, r1, 16 - lsrs r4, r0, 16 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080EB06E -_080EB094: - lsls r0, r6, 16 - lsrs r3, r0, 16 - cmp r3, 0x15 - bls _080EB044 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EB0A4: .4byte gEasyChatGroupWords -_080EB0A8: .4byte gUnknown_083DB694 -_080EB0AC: .4byte 0x000044d0 - thumb_func_end sub_80EB040 - - thumb_func_start sub_80EB0B0 -sub_80EB0B0: @ 80EB0B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r3, _080EB184 @ =gUnknown_083DB694 - ldr r4, [r3] - adds r0, r4, 0 - adds r0, 0x26 - ldrb r5, [r0] - cmp r5, 0 - bne _080EB19C - movs r0, 0xDC - lsls r0, 1 - adds r2, r4, r0 - ldrb r6, [r2] - lsls r1, r6, 1 - ldr r7, _080EB188 @ =0x000044a2 - adds r0, r4, r7 - adds r0, r1 - strh r5, [r0] - movs r7, 0 - movs r0, 0 - mov r9, r0 - ldr r1, _080EB18C @ =gEasyChatGroupOrders - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp] - movs r1, 0 - mov r8, r1 - ldr r1, _080EB190 @ =gEasyChatGroupSizes - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - cmp r8, r0 - bcc _080EB0FE - b _080EB1FE -_080EB0FE: - movs r2, 0xDC - lsls r2, 1 - adds r2, r4, r2 - str r2, [sp, 0x4] - lsls r5, r6, 24 - mov r10, r5 -_080EB10A: - mov r1, r8 - lsls r0, r1, 1 - ldr r2, [sp] - adds r5, r0, r2 - ldrh r1, [r5] - mov r2, r10 - lsrs r0, r2, 24 - bl sub_80EADC0 - lsls r0, 24 - cmp r0, 0 - beq _080EB16A - ldr r0, _080EB184 @ =gUnknown_083DB694 - ldr r3, [r0] - lsls r1, r7, 1 - mov r2, r9 - lsls r0, r2, 2 - adds r1, r0 - ldr r0, _080EB194 @ =0x00009d56 - adds r4, r3, r0 - adds r4, r1 - movs r0, 0x7F - ands r0, r6 - lsls r0, 9 - ldrh r1, [r5] - ldr r5, _080EB198 @ =0x000001ff - adds r2, r5, 0 - ands r1, r2 - orrs r0, r1 - strh r0, [r4] - lsls r0, r6, 1 - ldr r1, _080EB188 @ =0x000044a2 - adds r3, r1 - adds r3, r0 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _080EB16A - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 -_080EB16A: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, _080EB190 @ =gEasyChatGroupSizes - ldr r2, [sp, 0x4] - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - cmp r8, r0 - bcc _080EB10A - b _080EB1FE - .align 2, 0 -_080EB184: .4byte gUnknown_083DB694 -_080EB188: .4byte 0x000044a2 -_080EB18C: .4byte gEasyChatGroupOrders -_080EB190: .4byte gEasyChatGroupSizes -_080EB194: .4byte 0x00009d56 -_080EB198: .4byte 0x000001ff -_080EB19C: - movs r5, 0xDC - lsls r5, 1 - adds r0, r4, r5 - ldrb r2, [r0] - movs r3, 0 - movs r6, 0 - movs r5, 0 - lsls r1, r2, 1 - ldr r7, _080EB210 @ =0x0000446c - adds r0, r4, r7 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r5, r0 - bcs _080EB1FE - ldr r7, _080EB214 @ =0x00009d56 - adds r7, r4 - mov r8, r7 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 3 - subs r0, r2 - lsls r7, r0, 2 - ldr r0, _080EB218 @ =0x00000b78 - adds r2, r4, r0 - adds r4, r1, 0 -_080EB1CE: - lsls r1, r3, 1 - lsls r0, r6, 2 - adds r1, r0 - add r1, r8 - lsls r0, r5, 1 - adds r0, r7 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _080EB1F2 - movs r3, 0 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080EB1F2: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r1, [r4] - cmp r5, r1 - bcc _080EB1CE -_080EB1FE: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB210: .4byte 0x0000446c -_080EB214: .4byte 0x00009d56 -_080EB218: .4byte 0x00000b78 - thumb_func_end sub_80EB0B0 - - thumb_func_start sub_80EB218 -sub_80EB218: @ 80EB218 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r6, r1, 16 - lsrs r4, r6, 16 - adds r7, r4, 0 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB240 - ldr r1, _080EB23C @ =gOtherText_ThreeQuestions - b _080EB2A2 - .align 2, 0 -_080EB23C: .4byte gOtherText_ThreeQuestions -_080EB240: - ldr r0, _080EB250 @ =0x0000ffff - cmp r4, r0 - bne _080EB254 - adds r1, r5, 0 - movs r0, 0xFF - strb r0, [r1] - b _080EB2AA - .align 2, 0 -_080EB250: .4byte 0x0000ffff -_080EB254: - lsrs r2, r6, 25 - ldr r1, _080EB268 @ =0x000001ff - ands r1, r7 - cmp r2, 0x13 - bgt _080EB26C - cmp r2, 0x12 - bge _080EB280 - cmp r2, 0 - beq _080EB270 - b _080EB290 - .align 2, 0 -_080EB268: .4byte 0x000001ff -_080EB26C: - cmp r2, 0x15 - bne _080EB290 -_080EB270: - movs r0, 0xB - muls r1, r0 - ldr r0, _080EB27C @ =gSpeciesNames - adds r1, r0 - b _080EB2A2 - .align 2, 0 -_080EB27C: .4byte gSpeciesNames -_080EB280: - movs r0, 0xD - muls r1, r0 - ldr r0, _080EB28C @ =gMoveNames - adds r1, r0 - b _080EB2A2 - .align 2, 0 -_080EB28C: .4byte gMoveNames -_080EB290: - ldr r0, _080EB2CC @ =gUnknown_083DB694 - ldr r0, [r0] - lsls r1, 2 - lsls r2, 10 - adds r1, r2 - ldr r2, _080EB2D0 @ =0x000044d0 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] -_080EB2A2: - adds r0, r5, 0 - bl StringCopy - adds r1, r0, 0 -_080EB2AA: - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x13 - strb r0, [r1, 0x1] - mov r2, r8 - lsls r0, r2, 3 - strb r0, [r1, 0x2] - adds r1, 0x3 - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080EB2CC: .4byte gUnknown_083DB694 -_080EB2D0: .4byte 0x000044d0 - thumb_func_end sub_80EB218 - - thumb_func_start sub_80EB2D4 -sub_80EB2D4: @ 80EB2D4 - push {r4-r6,lr} - lsls r5, r0, 16 - lsrs r4, r5, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB2F8 - ldr r0, _080EB2F4 @ =gOtherText_ThreeQuestions - bl StringLength - lsls r0, 16 - lsrs r0, 16 - b _080EB374 - .align 2, 0 -_080EB2F4: .4byte gOtherText_ThreeQuestions -_080EB2F8: - ldr r0, _080EB304 @ =0x0000ffff - cmp r4, r0 - bne _080EB308 - movs r0, 0 - b _080EB374 - .align 2, 0 -_080EB304: .4byte 0x0000ffff -_080EB308: - lsrs r2, r5, 25 - ldr r1, _080EB31C @ =0x000001ff - ands r1, r6 - cmp r2, 0x13 - bgt _080EB320 - cmp r2, 0x12 - bge _080EB334 - cmp r2, 0 - beq _080EB324 - b _080EB344 - .align 2, 0 -_080EB31C: .4byte 0x000001ff -_080EB320: - cmp r2, 0x15 - bne _080EB344 -_080EB324: - movs r0, 0xB - muls r1, r0 - ldr r0, _080EB330 @ =gSpeciesNames - adds r1, r0 - b _080EB356 - .align 2, 0 -_080EB330: .4byte gSpeciesNames -_080EB334: - movs r0, 0xD - muls r1, r0 - ldr r0, _080EB340 @ =gMoveNames - adds r1, r0 - b _080EB356 - .align 2, 0 -_080EB340: .4byte gMoveNames -_080EB344: - ldr r0, _080EB35C @ =gUnknown_083DB694 - ldr r0, [r0] - lsls r1, 2 - lsls r2, 10 - adds r1, r2 - ldr r2, _080EB360 @ =0x000044d0 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] -_080EB356: - movs r2, 0 - b _080EB36C - .align 2, 0 -_080EB35C: .4byte gUnknown_083DB694 -_080EB360: .4byte 0x000044d0 -_080EB364: - adds r1, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_080EB36C: - ldrb r0, [r1] - cmp r0, 0xFF - bne _080EB364 - adds r0, r2, 0 -_080EB374: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80EB2D4 - - thumb_func_start sub_80EB37C -sub_80EB37C: @ 80EB37C - push {r4,r5,lr} - lsls r1, r0, 16 - lsrs r3, r1, 16 - ldr r0, _080EB3A0 @ =0x0000ffff - cmp r3, r0 - beq _080EB3EA - lsrs r2, r1, 25 - ldr r5, _080EB3A4 @ =0x000001ff - ands r5, r3 - cmp r2, 0x15 - bhi _080EB3F4 - cmp r2, 0x13 - bgt _080EB3A8 - cmp r2, 0x12 - bge _080EB3AC - cmp r2, 0 - beq _080EB3AC - b _080EB3E0 - .align 2, 0 -_080EB3A0: .4byte 0x0000ffff -_080EB3A4: .4byte 0x000001ff -_080EB3A8: - cmp r2, 0x15 - bne _080EB3E0 -_080EB3AC: - ldr r0, _080EB3D8 @ =gEasyChatGroupWords - lsls r1, r2, 2 - adds r1, r0 - ldr r4, [r1] - movs r3, 0 - ldr r0, _080EB3DC @ =gEasyChatGroupSizes - adds r0, r2, r0 - ldrb r0, [r0] - cmp r3, r0 - bcs _080EB3F4 - adds r1, r0, 0 -_080EB3C2: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r5, r0 - beq _080EB3EA - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bcc _080EB3C2 - b _080EB3F4 - .align 2, 0 -_080EB3D8: .4byte gEasyChatGroupWords -_080EB3DC: .4byte gEasyChatGroupSizes -_080EB3E0: - ldr r0, _080EB3F0 @ =gEasyChatGroupSizes - adds r0, r2, r0 - ldrb r0, [r0] - cmp r5, r0 - bcs _080EB3F4 -_080EB3EA: - movs r0, 0 - b _080EB3F6 - .align 2, 0 -_080EB3F0: .4byte gEasyChatGroupSizes -_080EB3F4: - movs r0, 0x1 -_080EB3F6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80EB37C - - thumb_func_start de_sub_80EB748 -de_sub_80EB748: @ 80EB3FC - push {r4-r7,lr} - adds r3, r0, 0 - adds r5, r1, 0 - movs r7, 0 - cmp r3, 0x13 - bgt _080EB412 - cmp r3, 0x12 - bge _080EB416 - cmp r3, 0 - beq _080EB416 - b _080EB458 -_080EB412: - cmp r3, 0x15 - bne _080EB458 -_080EB416: - ldr r1, _080EB438 @ =gEasyChatGroupWords - lsls r0, r3, 2 - adds r0, r1 - ldr r4, [r0] - movs r2, 0 - ldr r0, _080EB43C @ =gEasyChatGroupSizes - adds r1, r3, r0 - adds r6, r0, 0 - ldrb r1, [r1] - cmp r2, r1 - bge _080EB45A - ldrh r0, [r4] - cmp r5, r0 - bne _080EB440 - movs r7, 0 - b _080EB45A - .align 2, 0 -_080EB438: .4byte gEasyChatGroupWords -_080EB43C: .4byte gEasyChatGroupSizes -_080EB440: - adds r2, 0x1 - adds r0, r3, r6 - ldrb r0, [r0] - cmp r2, r0 - bge _080EB45A - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r5, r0 - bne _080EB440 - adds r7, r2, 0 - b _080EB45A -_080EB458: - adds r7, r5, 0 -_080EB45A: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end de_sub_80EB748 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_car.s b/asm/cable_car.s deleted file mode 100644 index 52bc2668b..000000000 --- a/asm/cable_car.s +++ /dev/null @@ -1,2880 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_81231EC -sub_81231EC: @ 81231EC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08123210 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812320A - ldr r0, _08123214 @ =sub_8123244 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0812320A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08123210: .4byte gPaletteFade -_08123214: .4byte sub_8123244 - thumb_func_end sub_81231EC - - thumb_func_start sub_8123218 -sub_8123218: @ 8123218 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _08123240 @ =sub_81231EC - movs r1, 0x1 - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08123240: .4byte sub_81231EC - thumb_func_end sub_8123218 - - thumb_func_start sub_8123244 -sub_8123244: @ 8123244 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - ldr r1, _08123268 @ =gMain - ldr r2, _0812326C @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - mov r9, r1 - cmp r0, 0x8 - bhi _08123298 - lsls r0, 2 - ldr r1, _08123270 @ =_08123274 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08123268: .4byte gMain -_0812326C: .4byte 0x0000043c -_08123270: .4byte _08123274 - .align 2, 0 -_08123274: - .4byte _08123298 - .4byte _08123384 - .4byte _081233E8 - .4byte _08123484 - .4byte _081234A0 - .4byte _08123504 - .4byte _08123598 - .4byte _08123678 - .4byte _081236B0 -_08123298: - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0xC - mov r9, r0 - add r2, sp, 0x8 - movs r6, 0 - ldr r1, _08123368 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0812336C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r8, r0 -_081232C0: - strh r6, [r2] - add r0, sp, 0x8 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _081232C0 - strh r6, [r2] - add r2, sp, 0x8 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, _08123368 @ =0x040000d4 - mov r1, r9 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x8 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r4, 0x81 - lsls r4, 24 - orrs r3, r4 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r1, _08123370 @ =gUnknown_02039274 - ldr r0, _08123374 @ =gSharedMem + 0x17000 - str r0, [r1] - adds r3, r0, 0 - ldr r5, _08123378 @ =0x000010fc - ldr r0, _0812337C @ =gMain - mov r9, r0 - add r1, sp, 0x8 - movs r7, 0 - movs r6, 0x80 - lsls r6, 5 - ldr r0, _0812336C @ =0x81000800 - mov r8, r0 -_08123338: - strh r7, [r1] - add r0, sp, 0x8 - str r0, [r2] - str r3, [r2, 0x4] - mov r0, r8 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r3, r6 - subs r5, r6 - cmp r5, r6 - bhi _08123338 - strh r7, [r1] - add r1, sp, 0x8 - str r1, [r2] - str r3, [r2, 0x4] - lsrs r0, r5, 1 - orrs r0, r4 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r1, _08123380 @ =0x0000043c - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_08123368: .4byte 0x040000d4 -_0812336C: .4byte 0x81000800 -_08123370: .4byte gUnknown_02039274 -_08123374: .4byte gSharedMem + 0x17000 -_08123378: .4byte 0x000010fc -_0812337C: .4byte gMain -_08123380: .4byte 0x0000043c -_08123384: - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl StartWeather - movs r4, 0 - ldr r0, _081233D4 @ =gWeatherPtr - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_081233A4: - lsls r0, r4, 2 - adds r0, r1, r0 - str r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _081233A4 - bl InitMapMusic - bl ResetMapMusic - ldr r2, _081233D8 @ =gSpriteCoordOffsetX - ldr r1, _081233DC @ =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - strh r0, [r2] - ldr r1, _081233E0 @ =gMain - ldr r2, _081233E4 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_081233D4: .4byte gWeatherPtr -_081233D8: .4byte gSpriteCoordOffsetX -_081233DC: .4byte gSpriteCoordOffsetY -_081233E0: .4byte gMain -_081233E4: .4byte 0x0000043c -_081233E8: - movs r4, 0 - ldr r5, _08123454 @ =gUnknown_08401CF8 -_081233EC: - lsls r0, r4, 3 - adds r0, r5 - bl LoadCompressedObjectPic - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081233EC - ldr r0, _08123458 @ =gUnknown_08401D18 - bl LoadSpritePalettes - ldr r0, _0812345C @ =gCableCarMtChimneyTilemap - ldr r4, _08123460 @ =gSharedMem + 0x19000 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _08123464 @ =gCableCarTreeTilemap - movs r2, 0xB4 - lsls r2, 1 - adds r1, r4, r2 - bl LZDecompressWram - ldr r0, _08123468 @ =gCableCarMountainTilemap - movs r2, 0xA5 - lsls r2, 3 - adds r1, r4, r2 - bl LZDecompressWram - ldr r0, _0812346C @ =gCableCarPylonStemTilemap - ldr r1, _08123470 @ =0x000009d8 - adds r4, r1 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _08123474 @ =gCableCarBG_Pal - movs r1, 0 - movs r2, 0x80 - bl LoadPalette - ldr r0, _08123478 @ =gCableCarBG_Gfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r1, _0812347C @ =gMain - ldr r2, _08123480 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_08123454: .4byte gUnknown_08401CF8 -_08123458: .4byte gUnknown_08401D18 -_0812345C: .4byte gCableCarMtChimneyTilemap -_08123460: .4byte gSharedMem + 0x19000 -_08123464: .4byte gCableCarTreeTilemap -_08123468: .4byte gCableCarMountainTilemap -_0812346C: .4byte gCableCarPylonStemTilemap -_08123470: .4byte 0x000009d8 -_08123474: .4byte gCableCarBG_Pal -_08123478: .4byte gCableCarBG_Gfx -_0812347C: .4byte gMain -_08123480: .4byte 0x0000043c -_08123484: - bl sub_8124118 - bl RunTasks - ldr r1, _08123498 @ =gMain - ldr r0, _0812349C @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_08123498: .4byte gMain -_0812349C: .4byte 0x0000043c -_081234A0: - ldr r0, _081234B4 @ =gUnknown_02039274 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - cmp r0, 0x7 - bne _081234BC - ldr r1, _081234B8 @ =0x0000043c - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_081234B4: .4byte gUnknown_02039274 -_081234B8: .4byte 0x0000043c -_081234BC: - ldr r0, _081234FC @ =gWeatherPtr - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - ldr r0, [r1] - cmp r0, 0 - bne _081234CC - b _0812370E -_081234CC: - movs r4, 0 - adds r3, r1, 0 - movs r5, 0xD - negs r5, r5 -_081234D4: - lsls r0, r4, 2 - adds r0, r3, r0 - ldr r2, [r0] - cmp r2, 0 - beq _081234E6 - ldrb r1, [r2, 0x5] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0x5] -_081234E6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _081234D4 - ldr r1, _08123500 @ =0x0000043c - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_081234FC: .4byte gWeatherPtr -_08123500: .4byte 0x0000043c -_08123504: - ldr r0, _08123578 @ =0x0600e800 - ldr r5, _0812357C @ =gSharedMem + 0x19168 - movs r1, 0x20 - str r1, [sp] - movs r1, 0xF - str r1, [sp, 0x4] - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x11 - bl sub_8124F08 - ldr r0, _08123580 @ =0x0600f000 - movs r2, 0xF0 - lsls r2, 2 - adds r1, r5, r2 - movs r2, 0x1E - str r2, [sp] - movs r2, 0x14 - mov r9, r2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8124F08 - ldr r0, _08123584 @ =gUnknown_02039274 - mov r8, r0 - ldr r0, [r0] - ldr r6, _08123588 @ =0x000008fc - adds r0, r6 - ldr r1, _0812358C @ =gCableCarPylonHookTilemapEntries - movs r2, 0x5 - str r2, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8124F08 - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - movs r2, 0x87 - lsls r2, 4 - adds r5, r2 - str r4, [sp] - mov r1, r9 - str r1, [sp, 0x4] - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x2 - bl sub_8124F08 - ldr r1, _08123590 @ =gMain - ldr r2, _08123594 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_08123578: .4byte 0x0600e800 -_0812357C: .4byte gSharedMem + 0x19168 -_08123580: .4byte 0x0600f000 -_08123584: .4byte gUnknown_02039274 -_08123588: .4byte 0x000008fc -_0812358C: .4byte gCableCarPylonHookTilemapEntries -_08123590: .4byte gMain -_08123594: .4byte 0x0000043c -_08123598: - ldr r0, _08123664 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_81248AC - ldr r0, _08123668 @ =gUnknown_02039274 - mov r8, r0 - ldr r0, [r0] - adds r0, 0xFC - ldr r4, _0812366C @ =gSharedMem + 0x19090 - movs r6, 0xC - str r6, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0xE - bl sub_8124F08 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xFC - adds r1, r4, 0 - adds r1, 0x48 - str r6, [sp] - str r5, [sp, 0x4] - movs r2, 0xC - movs r3, 0x11 - bl sub_8124F08 - mov r2, r8 - ldr r0, [r2] - adds r0, 0xFC - adds r1, r4, 0 - adds r1, 0x90 - str r6, [sp] - str r5, [sp, 0x4] - movs r2, 0x18 - movs r3, 0x14 - bl sub_8124F08 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xFC - movs r2, 0x90 - negs r2, r2 - adds r2, r4 - mov r9, r2 - str r6, [sp] - str r5, [sp, 0x4] - mov r1, r9 - movs r2, 0 - movs r3, 0x11 - bl sub_8124F08 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xFC - subs r4, 0x48 - str r6, [sp] - str r5, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x14 - bl sub_8124F08 - mov r2, r8 - ldr r0, [r2] - adds r0, 0xFC - str r6, [sp] - str r5, [sp, 0x4] - mov r1, r9 - movs r2, 0xC - movs r3, 0x14 - bl sub_8124F08 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xFC - str r6, [sp] - str r5, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0xC - movs r3, 0x17 - bl sub_8124F08 - mov r2, r8 - ldr r0, [r2] - adds r0, 0xFC - str r6, [sp] - str r5, [sp, 0x4] - mov r1, r9 - movs r2, 0x18 - movs r3, 0x17 - bl sub_8124F08 - ldr r1, _08123670 @ =gMain - ldr r0, _08123674 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_08123664: .4byte gSpecialVar_0x8004 -_08123668: .4byte gUnknown_02039274 -_0812366C: .4byte gSharedMem + 0x19090 -_08123670: .4byte gMain -_08123674: .4byte 0x0000043c -_08123678: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x3 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _081236A4 @ =0x000001a9 - movs r1, 0x1 - bl FadeInNewBGM - movs r0, 0x1 - bl sub_8123FBC - ldr r1, _081236A8 @ =gMain - ldr r2, _081236AC @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _0812370C - .align 2, 0 -_081236A4: .4byte 0x000001a9 -_081236A8: .4byte gMain -_081236AC: .4byte 0x0000043c -_081236B0: - ldr r3, _081236E4 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _081236E8 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _081236EC @ =sub_8123C40 - bl SetVBlankCallback - ldr r0, _081236F0 @ =sub_8123724 - bl SetMainCallback2 - ldr r0, _081236F4 @ =sub_8123878 - movs r1, 0 - bl CreateTask - ldr r0, _081236F8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08123700 - ldr r0, _081236FC @ =sub_81239E4 - b _08123702 - .align 2, 0 -_081236E4: .4byte 0x04000208 -_081236E8: .4byte 0x04000200 -_081236EC: .4byte sub_8123C40 -_081236F0: .4byte sub_8123724 -_081236F4: .4byte sub_8123878 -_081236F8: .4byte gSpecialVar_0x8004 -_081236FC: .4byte sub_81239E4 -_08123700: - ldr r0, _0812371C @ =sub_8123AF8 -_08123702: - movs r1, 0x1 - bl CreateTask - ldr r1, _08123720 @ =gUnknown_02039274 - ldr r1, [r1] -_0812370C: - strb r0, [r1] -_0812370E: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812371C: .4byte sub_8123AF8 -_08123720: .4byte gUnknown_02039274 - thumb_func_end sub_8123244 - - thumb_func_start sub_8123724 -sub_8123724: @ 8123724 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl MapMusicMain - pop {r0} - bx r0 - thumb_func_end sub_8123724 - - thumb_func_start sub_8123740 -sub_8123740: @ 8123740 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r4, 0 - movs r0, 0 - bl sub_8123FBC - ldr r0, _08123854 @ =gSpriteCoordOffsetX - strh r4, [r0] - movs r0, 0 - bl sub_807C9B4 - add r7, sp, 0x4 - ldr r0, _08123858 @ =gWeatherPtr - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_08123766: - lsls r0, r4, 2 - adds r0, r1, r0 - str r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _08123766 - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - ldr r2, _0812385C @ =gSharedMem - movs r3, 0x80 - lsls r3, 10 - movs r5, 0 - ldr r1, _08123860 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _08123864 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r12, r0 -_08123798: - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _08123798 - str r5, [sp] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _08123868 @ =gUnknown_02039274 - movs r0, 0 - str r0, [r1] - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - adds r2, r7, 0 - movs r6, 0 - ldr r1, _08123860 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r0, _0812386C @ =0x81000800 - mov r12, r0 - movs r0, 0x81 - lsls r0, 24 - mov r8, r0 -_081237E0: - strh r6, [r2] - str r2, [r1] - str r3, [r1, 0x4] - mov r0, r12 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _081237E0 - strh r6, [r7] - str r7, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp] - ldr r2, _08123860 @ =0x040000d4 - mov r1, sp - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0xA0 - lsls r0, 19 - strh r4, [r7] - str r7, [r2] - str r0, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - bl warp_in - ldr r0, _08123870 @ =gFieldCallback - str r4, [r0] - ldr r0, _08123874 @ =CB2_LoadMap - bl SetMainCallback2 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08123854: .4byte gSpriteCoordOffsetX -_08123858: .4byte gWeatherPtr -_0812385C: .4byte gSharedMem -_08123860: .4byte 0x040000d4 -_08123864: .4byte 0x85000400 -_08123868: .4byte gUnknown_02039274 -_0812386C: .4byte 0x81000800 -_08123870: .4byte gFieldCallback -_08123874: .4byte CB2_LoadMap - thumb_func_end sub_8123740 - - thumb_func_start sub_8123878 -sub_8123878: @ 8123878 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, _081238A4 @ =gUnknown_02039274 - ldr r3, [r5] - ldrh r0, [r3, 0x6] - adds r0, 0x1 - strh r0, [r3, 0x6] - ldrb r2, [r3, 0x1] - adds r7, r5, 0 - cmp r2, 0x2 - beq _0812397E - cmp r2, 0x2 - bgt _081238A8 - cmp r2, 0 - beq _081238B6 - cmp r2, 0x1 - beq _081238D0 - b _081239D6 - .align 2, 0 -_081238A4: .4byte gUnknown_02039274 -_081238A8: - cmp r2, 0x3 - bne _081238AE - b _081239A4 -_081238AE: - cmp r2, 0xFF - bne _081238B4 - b _081239BC -_081238B4: - b _081239D6 -_081238B6: - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r3, 0x4] - cmp r0, r1 - beq _081238C2 - b _081239D6 -_081238C2: - ldrb r0, [r3, 0x2] - bl DoWeatherEffect - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1, 0x1] - b _081239D6 -_081238D0: - ldrb r0, [r3, 0x2] - cmp r0, 0x2 - beq _08123924 - cmp r0, 0x7 - beq _081238DC - b _081239D6 -_081238DC: - ldr r0, _08123920 @ =gWeatherPtr - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0xF0 - ldr r0, [r2] - cmp r0, 0 - beq _081239D6 - ldrb r1, [r0, 0x5] - movs r0, 0xC - ands r0, r1 - cmp r0, 0 - beq _081239D6 - adds r3, r2, 0 - movs r5, 0xD - negs r5, r5 -_081238FA: - lsls r0, r4, 2 - adds r0, r3, r0 - ldr r2, [r0] - cmp r2, 0 - beq _0812390C - ldrb r1, [r2, 0x5] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0x5] -_0812390C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _081238FA - ldr r1, [r7] - movs r0, 0x2 - strb r0, [r1, 0x1] - b _081239D6 - .align 2, 0 -_08123920: .4byte gWeatherPtr -_08123924: - ldr r0, _08123938 @ =gWeatherPtr - ldr r2, [r0] - movs r1, 0xDA - lsls r1, 3 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0812393C - strb r0, [r3, 0x1] - b _081239D6 - .align 2, 0 -_08123938: .4byte gWeatherPtr -_0812393C: - ldrh r1, [r3, 0x6] - ldrh r0, [r3, 0x4] - adds r0, 0x8 - cmp r1, r0 - blt _081239D6 - adds r6, r2, 0 - adds r6, 0xF0 - movs r5, 0x1 - movs r7, 0x5 - negs r7, r7 -_08123950: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - cmp r0, 0 - beq _08123972 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r1, r2, 29 - lsrs r1, 31 - eors r1, r5 - ands r1, r5 - lsls r1, 2 - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08123972: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _08123950 - b _081239D6 -_0812397E: - lsls r1, r0, 16 - ldr r0, _081239A0 @ =0x023a0000 - cmp r1, r0 - bne _081239D6 - movs r0, 0x3 - strb r0, [r3, 0x1] - subs r0, 0x4 - str r4, [sp] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl FadeOutBGM - b _081239D6 - .align 2, 0 -_081239A0: .4byte 0x023a0000 -_081239A4: - ldr r0, _081239B8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081239D6 - movs r0, 0xFF - strb r0, [r3, 0x1] - b _081239D6 - .align 2, 0 -_081239B8: .4byte gPaletteFade -_081239BC: - movs r0, 0 - bl SetVBlankCallback - adds r0, r6, 0 - bl DestroyTask - ldr r0, [r5] - ldrb r0, [r0] - bl DestroyTask - ldr r0, _081239E0 @ =sub_8123740 - bl SetMainCallback2 -_081239D6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081239E0: .4byte sub_8123740 - thumb_func_end sub_8123878 - - thumb_func_start sub_81239E4 -sub_81239E4: @ 81239E4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08123A38 @ =gUnknown_02039274 - ldr r1, [r6] - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08123AC0 - ldrb r0, [r1, 0x14] - subs r0, 0x1 - strb r0, [r1, 0x14] - ldr r1, [r6] - ldrh r0, [r1, 0x6] - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - bne _08123A0A - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x15] -_08123A0A: - ldr r2, [r6] - ldrh r0, [r2, 0x6] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08123A24 - ldrb r0, [r2, 0xC] - subs r0, 0x1 - strb r0, [r2, 0xC] - ldr r1, [r6] - ldrb r0, [r1, 0xD] - subs r0, 0x1 - strb r0, [r1, 0xD] -_08123A24: - ldr r0, [r6] - ldrb r1, [r0, 0x14] - cmp r1, 0x20 - beq _08123A74 - cmp r1, 0x20 - bgt _08123A3C - cmp r1, 0x10 - beq _08123A90 - b _08123AC0 - .align 2, 0 -_08123A38: .4byte gUnknown_02039274 -_08123A3C: - cmp r1, 0x28 - beq _08123A60 - cmp r1, 0xAF - bne _08123AC0 - ldr r1, _08123A5C @ =0x000008fc - adds r0, r1 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0x16 - bl sub_8124E7C - b _08123AC0 - .align 2, 0 -_08123A5C: .4byte 0x000008fc -_08123A60: - ldr r1, _08123A70 @ =0x000008fc - adds r0, r1 - movs r1, 0x2 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0x3 - b _08123A82 - .align 2, 0 -_08123A70: .4byte 0x000008fc -_08123A74: - ldr r1, _08123A8C @ =0x000008fc - adds r0, r1 - str r3, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0x2 -_08123A82: - movs r3, 0 - bl sub_8124E7C - b _08123AC0 - .align 2, 0 -_08123A8C: .4byte 0x000008fc -_08123A90: - ldr r5, _08123AE8 @ =0x000008fc - adds r0, r5 - ldr r1, _08123AEC @ =gCableCarPylonHookTilemapEntries - movs r2, 0x5 - str r2, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8124F08 - ldr r0, [r6] - adds r0, r5 - ldr r1, _08123AF0 @ =gSharedMem + 0x199D8 - str r4, [sp] - movs r2, 0x1E - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0x2 - bl sub_8124F08 - ldr r1, [r6] - movs r0, 0x40 - strb r0, [r1, 0x15] -_08123AC0: - bl sub_812453C - ldr r3, _08123AF4 @ =gSpriteCoordOffsetX - movs r0, 0 - ldrsh r2, [r3, r0] - adds r1, r2, 0x1 - adds r0, r1, 0 - cmp r1, 0 - bge _08123AD6 - adds r0, r2, 0 - adds r0, 0x80 -_08123AD6: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - strh r0, [r3] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08123AE8: .4byte 0x000008fc -_08123AEC: .4byte gCableCarPylonHookTilemapEntries -_08123AF0: .4byte gSharedMem + 0x199D8 -_08123AF4: .4byte gSpriteCoordOffsetX - thumb_func_end sub_81239E4 - - thumb_func_start sub_8123AF8 -sub_8123AF8: @ 8123AF8 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08123B4C @ =gUnknown_02039274 - ldr r1, [r6] - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08123BEE - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - ldr r2, [r6] - ldrh r0, [r2, 0x6] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08123B1E - ldrb r0, [r2, 0x15] - adds r0, 0x1 - strb r0, [r2, 0x15] -_08123B1E: - ldr r2, [r6] - ldrh r0, [r2, 0x6] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08123B38 - ldrb r0, [r2, 0xC] - adds r0, 0x1 - strb r0, [r2, 0xC] - ldr r1, [r6] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] -_08123B38: - ldr r3, [r6] - ldrb r0, [r3, 0x14] - cmp r0, 0x20 - beq _08123BB0 - cmp r0, 0x20 - bgt _08123B50 - cmp r0, 0x10 - beq _08123B78 - b _08123BEE - .align 2, 0 -_08123B4C: .4byte gUnknown_02039274 -_08123B50: - cmp r0, 0x28 - beq _08123BDC - cmp r0, 0xB0 - bne _08123BEE - ldr r1, _08123B70 @ =0x000008fc - adds r0, r3, r1 - ldr r1, _08123B74 @ =gSharedMem + 0x199D8 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1E - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0x2 - bl sub_8124F08 - b _08123BEE - .align 2, 0 -_08123B70: .4byte 0x000008fc -_08123B74: .4byte gSharedMem + 0x199D8 -_08123B78: - ldr r5, _08123BAC @ =0x000008fc - adds r0, r3, r5 - movs r1, 0x3 - str r1, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r1, 0 - movs r2, 0x2 - movs r3, 0 - bl sub_8124E7C - ldr r0, [r6] - adds r0, r5 - str r4, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0x16 - bl sub_8124E7C - ldr r1, [r6] - movs r0, 0xC0 - strb r0, [r1, 0x15] - b _08123BEE - .align 2, 0 -_08123BAC: .4byte 0x000008fc -_08123BB0: - ldr r1, _08123BD4 @ =gCableCarPylonHookTilemapEntries + 0x4 - ldrh r2, [r1] - movs r4, 0x90 - lsls r4, 4 - adds r0, r3, r4 - strh r2, [r0] - ldrh r2, [r1, 0x2] - adds r4, 0x2 - adds r0, r3, r4 - strh r2, [r0] - ldrh r2, [r1, 0xA] - adds r4, 0x3E - adds r0, r3, r4 - strh r2, [r0] - ldrh r1, [r1, 0xC] - ldr r2, _08123BD8 @ =0x00000942 - b _08123BEA - .align 2, 0 -_08123BD4: .4byte gCableCarPylonHookTilemapEntries + 0x4 -_08123BD8: .4byte 0x00000942 -_08123BDC: - ldr r2, _08123C08 @ =gCableCarPylonHookTilemapEntries + 0x8 - ldrh r1, [r2] - ldr r4, _08123C0C @ =0x00000904 - adds r0, r3, r4 - strh r1, [r0] - ldrh r1, [r2, 0xA] - ldr r2, _08123C10 @ =0x00000944 -_08123BEA: - adds r0, r3, r2 - strh r1, [r0] -_08123BEE: - bl sub_8124598 - ldr r0, _08123C14 @ =gUnknown_02039274 - ldr r1, [r0] - ldrh r0, [r1, 0x6] - ldrh r1, [r1, 0x4] - cmp r0, r1 - bcs _08123C1C - ldr r4, _08123C18 @ =gSpriteCoordOffsetX - movs r1, 0 - ldrsh r0, [r4, r1] - b _08123C26 - .align 2, 0 -_08123C08: .4byte gCableCarPylonHookTilemapEntries + 0x8 -_08123C0C: .4byte 0x00000904 -_08123C10: .4byte 0x00000944 -_08123C14: .4byte gUnknown_02039274 -_08123C18: .4byte gSpriteCoordOffsetX -_08123C1C: - ldr r0, _08123C38 @ =gWeatherPtr - ldr r4, [r0] - ldr r2, _08123C3C @ =0x000006fc - adds r4, r2 - ldrh r0, [r4] -_08123C26: - adds r0, 0xF7 - movs r1, 0xF8 - bl __modsi3 - strh r0, [r4] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08123C38: .4byte gWeatherPtr -_08123C3C: .4byte 0x000006fc - thumb_func_end sub_8123AF8 - - thumb_func_start sub_8123C40 -sub_8123C40: @ 8123C40 - push {r4,lr} - ldr r1, _08123C9C @ =0x040000d4 - ldr r0, _08123CA0 @ =gUnknown_02039274 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xFC - str r0, [r1] - ldr r0, _08123CA4 @ =0x0600e000 - str r0, [r1, 0x4] - ldr r3, _08123CA8 @ =0x80000400 - str r3, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r4, _08123CAC @ =0x000008fc - adds r0, r2, r4 - str r0, [r1] - ldr r0, _08123CB0 @ =0x0600f800 - str r0, [r1, 0x4] - str r3, [r1, 0x8] - ldr r0, [r1, 0x8] - subs r1, 0xB8 - ldrb r0, [r2, 0x14] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0x15] - strh r0, [r1] - subs r1, 0xA - ldrb r0, [r2, 0xC] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0xD] - strh r0, [r1] - subs r1, 0x6 - ldrb r0, [r2, 0x8] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0x9] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08123C9C: .4byte 0x040000d4 -_08123CA0: .4byte gUnknown_02039274 -_08123CA4: .4byte 0x0600e000 -_08123CA8: .4byte 0x80000400 -_08123CAC: .4byte 0x000008fc -_08123CB0: .4byte 0x0600f800 - thumb_func_end sub_8123C40 - - thumb_func_start nullsub_76 -nullsub_76: @ 8123CB4 - bx lr - thumb_func_end nullsub_76 - - thumb_func_start sub_8123CB8 -sub_8123CB8: @ 8123CB8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _08123D20 @ =gUnknown_02039274 - ldr r6, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0xFF - beq _08123D84 - ldr r0, _08123D24 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08123D34 - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123CE2 - ldr r1, _08123D28 @ =0x47800000 - bl __addsf3 -_08123CE2: - ldr r1, _08123D2C @ =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - subs r1, r0 - strh r1, [r5, 0x20] - movs r1, 0x6 - ldrsh r4, [r6, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123D0A - ldr r1, _08123D28 @ =0x47800000 - bl __addsf3 -_08123D0A: - ldr r1, _08123D30 @ =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - subs r1, r0 - strh r1, [r5, 0x22] - b _08123D84 - .align 2, 0 -_08123D20: .4byte gUnknown_02039274 -_08123D24: .4byte gSpecialVar_0x8004 -_08123D28: .4byte 0x47800000 -_08123D2C: .4byte 0x3e0f5c29 -_08123D30: .4byte 0x3d89374c -_08123D34: - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123D48 - ldr r1, _08123D8C @ =0x47800000 - bl __addsf3 -_08123D48: - ldr r1, _08123D90 @ =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - adds r0, r1 - strh r0, [r5, 0x20] - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123D70 - ldr r1, _08123D8C @ =0x47800000 - bl __addsf3 -_08123D70: - ldr r1, _08123D94 @ =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x22] -_08123D84: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08123D8C: .4byte 0x47800000 -_08123D90: .4byte 0x3e0f5c29 -_08123D94: .4byte 0x3d89374c - thumb_func_end sub_8123CB8 - - thumb_func_start sub_8123D98 -sub_8123D98: @ 8123D98 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _08123E04 @ =gUnknown_02039274 - ldr r6, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0xFF - bne _08123DA8 - b _08123EB0 -_08123DA8: - ldr r0, _08123E08 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08123E18 - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123DC4 - ldr r1, _08123E0C @ =0x47800000 - bl __addsf3 -_08123DC4: - ldr r1, _08123E10 @ =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - subs r1, r0 - strh r1, [r5, 0x20] - movs r1, 0x6 - ldrsh r4, [r6, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123DEC - ldr r1, _08123E0C @ =0x47800000 - bl __addsf3 -_08123DEC: - ldr r1, _08123E14 @ =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - subs r1, r0 - strh r1, [r5, 0x22] - b _08123E68 - .align 2, 0 -_08123E04: .4byte gUnknown_02039274 -_08123E08: .4byte gSpecialVar_0x8004 -_08123E0C: .4byte 0x47800000 -_08123E10: .4byte 0x3e0f5c29 -_08123E14: .4byte 0x3d89374c -_08123E18: - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123E2C - ldr r1, _08123E8C @ =0x47800000 - bl __addsf3 -_08123E2C: - ldr r1, _08123E90 @ =0x3e0f5c29 - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2E] - adds r0, r1 - strh r0, [r5, 0x20] - movs r0, 0x6 - ldrsh r4, [r6, r0] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _08123E54 - ldr r1, _08123E8C @ =0x47800000 - bl __addsf3 -_08123E54: - ldr r1, _08123E94 @ =0x3d89374c - bl __mulsf3 - bl __fixunssfsi - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x22] -_08123E68: - movs r0, 0x32 - ldrsh r2, [r5, r0] - cmp r2, 0 - bne _08123E98 - movs r0, 0x11 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x34] - adds r1, r0, 0x1 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08123EB0 - strh r2, [r5, 0x34] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - b _08123EB0 - .align 2, 0 -_08123E8C: .4byte 0x47800000 -_08123E90: .4byte 0x3e0f5c29 -_08123E94: .4byte 0x3d89374c -_08123E98: - movs r2, 0 - movs r0, 0x10 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x34] - adds r1, r0, 0x1 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08123EB0 - strh r2, [r5, 0x34] - strh r2, [r5, 0x32] -_08123EB0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8123D98 - - thumb_func_start sub_8123EB8 -sub_8123EB8: @ 8123EB8 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _08123EE8 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r3, [r2, 0x20] - adds r0, r3 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x22] - adds r1, 0x10 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r2, 0x22] -_08123EE8: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08123F3E - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _08123F08 - cmp r1, 0x1 - beq _08123F12 - b _08123F30 -_08123F08: - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - b _08123F22 -_08123F12: - ldrh r0, [r2, 0x2E] - ands r0, r1 - cmp r0, 0 - beq _08123F30 - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x20] -_08123F22: - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08123F30 - ldrh r0, [r2, 0x22] - adds r0, 0x1 - strh r0, [r2, 0x22] -_08123F30: - movs r1, 0x22 - ldrsh r0, [r2, r1] - cmp r0, 0xA0 - ble _08123F3E - adds r0, r2, 0 - bl DestroySprite -_08123F3E: - pop {r0} - bx r0 - thumb_func_end sub_8123EB8 - - thumb_func_start sub_8123F44 -sub_8123F44: @ 8123F44 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _08123F62 - ldrh r1, [r2, 0x22] - adds r1, 0x10 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r2, 0x22] -_08123F62: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08123FB8 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _08123F82 - cmp r1, 0x1 - beq _08123F8C - b _08123FAA -_08123F82: - ldrh r0, [r2, 0x20] - subs r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - b _08123F9C -_08123F8C: - ldrh r0, [r2, 0x2E] - ands r0, r1 - cmp r0, 0 - beq _08123FAA - ldrh r0, [r2, 0x20] - subs r0, 0x1 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x20] -_08123F9C: - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08123FAA - ldrh r0, [r2, 0x22] - subs r0, 0x1 - strh r0, [r2, 0x22] -_08123FAA: - movs r1, 0x22 - ldrsh r0, [r2, r1] - cmp r0, 0x4F - bgt _08123FB8 - adds r0, r2, 0 - bl DestroySprite -_08123FB8: - pop {r0} - bx r0 - thumb_func_end sub_8123F44 - - thumb_func_start sub_8123FBC -sub_8123FBC: @ 8123FBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08123FCA - cmp r0, 0x1 - beq _08124024 -_08123FCA: - ldr r1, _08124020 @ =REG_WININ - movs r0, 0 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - subs r1, 0xA - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - subs r1, 0x46 - strh r0, [r1] - adds r1, 0xE - strh r0, [r1] - subs r1, 0x2 - strh r0, [r1] - subs r1, 0x2 - strh r0, [r1] - subs r1, 0x2 - strh r0, [r1] - adds r1, 0x14 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - subs r1, 0x6 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - subs r1, 0x6 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - subs r1, 0x6 - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r1, 0x3E - strh r0, [r1] - b _081240EE - .align 2, 0 -_08124020: .4byte REG_WININ -_08124024: - ldr r0, _08124060 @ =REG_WININ - movs r3, 0 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - subs r0, 0xA - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - ldr r0, _08124064 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0812406C - ldr r1, _08124068 @ =gUnknown_02039274 - ldr r2, [r1] - movs r0, 0xB0 - strb r0, [r2, 0x14] - ldr r2, [r1] - movs r0, 0x10 - strb r0, [r2, 0x15] - ldr r0, [r1] - strb r3, [r0, 0xC] - ldr r2, [r1] - movs r0, 0x50 - b _08124082 - .align 2, 0 -_08124060: .4byte REG_WININ -_08124064: .4byte gSpecialVar_0x8004 -_08124068: .4byte gUnknown_02039274 -_0812406C: - ldr r1, _081240F4 @ =gUnknown_02039274 - ldr r2, [r1] - movs r0, 0x60 - strb r0, [r2, 0x14] - ldr r2, [r1] - movs r0, 0xE8 - strb r0, [r2, 0x15] - ldr r0, [r1] - strb r3, [r0, 0xC] - ldr r2, [r1] - movs r0, 0x4 -_08124082: - strb r0, [r2, 0xD] - ldr r0, [r1] - strb r3, [r0, 0x9] - ldr r0, [r1] - strb r3, [r0, 0x9] - adds r2, r1, 0 - ldr r1, _081240F8 @ =REG_BG3HOFS - ldr r2, [r2] - ldrb r0, [r2, 0x14] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0x15] - strh r0, [r1] - ldr r0, _081240FC @ =REG_BG2HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08124100 @ =REG_BG1HOFS - ldrb r0, [r2, 0xC] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0xD] - strh r0, [r1] - subs r1, 0x6 - ldrb r0, [r2, 0x8] - strh r0, [r1] - adds r1, 0x2 - ldrb r0, [r2, 0x9] - strh r0, [r1] - subs r1, 0xA - ldr r2, _08124104 @ =0x00003c01 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r3, _08124108 @ =0x00003d02 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0812410C @ =0x00003e03 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08124110 @ =REG_BG3CNT - movs r3, 0xFC - lsls r3, 6 - adds r2, r3, 0 - strh r2, [r0] - subs r1, 0xC - movs r3, 0xFA - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08124114 @ =REG_BLDCNT - strh r2, [r0] -_081240EE: - pop {r0} - bx r0 - .align 2, 0 -_081240F4: .4byte gUnknown_02039274 -_081240F8: .4byte REG_BG3HOFS -_081240FC: .4byte REG_BG2HOFS -_08124100: .4byte REG_BG1HOFS -_08124104: .4byte 0x00003c01 -_08124108: .4byte 0x00003d02 -_0812410C: .4byte 0x00003e03 -_08124110: .4byte REG_BG3CNT -_08124114: .4byte REG_BLDCNT - thumb_func_end sub_8123FBC - - thumb_func_start sub_8124118 -sub_8124118: @ 8124118 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - ldr r1, _0812422C @ =gCableCarPlayerGraphicsIDs - add r0, sp, 0x8 - movs r2, 0x2 - bl memcpy - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - add r6, sp, 0xC - ldr r1, _08124230 @ =gMtChimneyHikerGraphicsIDs - adds r0, r6, 0 - movs r2, 0x4 - bl memcpy - add r5, sp, 0x10 - ldr r1, _08124234 @ =gMtChimneyHikerCoords - adds r0, r5, 0 - movs r2, 0x8 - bl memcpy - add r4, sp, 0x18 - ldr r1, _08124238 @ =gMtChimneyHikerMovementDelayTable - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r0, _0812423C @ =gUnknown_08401D9C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x1C] - str r1, [sp, 0x20] - ldr r0, _08124240 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - mov r8, r6 - mov r10, r5 - cmp r0, 0 - beq _08124176 - cmp r0, 0x1 - beq _08124258 -_08124176: - ldr r0, _08124244 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - add r0, sp - adds r0, 0x8 - ldrb r0, [r0] - ldr r1, _08124248 @ =sub_8123D98 - movs r2, 0x66 - str r2, [sp] - movs r2, 0xC8 - movs r3, 0x49 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _081241BE - ldr r0, _0812424C @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x8 - strh r0, [r1, 0x24] - movs r0, 0x10 - strh r0, [r1, 0x26] - movs r0, 0xC8 - strh r0, [r1, 0x2E] - movs r0, 0x49 - strh r0, [r1, 0x30] -_081241BE: - ldr r4, _08124250 @ =gSpriteTemplate_8401D40 - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0x2B - movs r3, 0x67 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _0812424C @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x26] - strh r1, [r0, 0x24] - movs r1, 0xB0 - strh r1, [r0, 0x2E] - movs r1, 0x2B - strh r1, [r0, 0x30] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0xC8 - movs r2, 0x63 - movs r3, 0x65 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - movs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0xC8 - strh r1, [r0, 0x2E] - movs r1, 0x63 - strh r1, [r0, 0x30] - ldr r2, _08124254 @ =gUnknown_02039274 - ldr r1, [r2] - movs r0, 0x7 - strb r0, [r1, 0x2] - ldr r1, [r2] - movs r0, 0xAF - lsls r0, 1 - strh r0, [r1, 0x4] - movs r0, 0x2 - bl sub_807C9B4 - b _0812431E - .align 2, 0 -_0812422C: .4byte gCableCarPlayerGraphicsIDs -_08124230: .4byte gMtChimneyHikerGraphicsIDs -_08124234: .4byte gMtChimneyHikerCoords -_08124238: .4byte gMtChimneyHikerMovementDelayTable -_0812423C: .4byte gUnknown_08401D9C -_08124240: .4byte gSpecialVar_0x8004 -_08124244: .4byte gSaveBlock2 -_08124248: .4byte sub_8123D98 -_0812424C: .4byte gSprites -_08124250: .4byte gSpriteTemplate_8401D40 -_08124254: .4byte gUnknown_02039274 -_08124258: - ldr r7, _081243EC @ =gUnknown_02039274 - ldr r0, [r7] - adds r0, 0xFC - ldr r1, _081243F0 @ =gSharedMem + 0x19048 - movs r2, 0xC - str r2, [sp] - movs r2, 0x3 - str r2, [sp, 0x4] - movs r2, 0x18 - movs r3, 0x1A - bl sub_8124F08 - ldr r0, _081243F4 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - add r0, sp - adds r0, 0x8 - ldrb r0, [r0] - ldr r1, _081243F8 @ =sub_8123D98 - movs r2, 0x66 - str r2, [sp] - movs r2, 0x80 - movs r3, 0x27 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _081242B8 - ldr r0, _081243FC @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x8 - strh r0, [r1, 0x24] - movs r0, 0x10 - strh r0, [r1, 0x26] - movs r0, 0x80 - strh r0, [r1, 0x2E] - movs r0, 0x27 - strh r0, [r1, 0x30] -_081242B8: - ldr r4, _08124400 @ =gSpriteTemplate_8401D40 - adds r0, r4, 0 - movs r1, 0x68 - movs r2, 0x9 - movs r3, 0x67 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _081243FC @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x26] - strh r1, [r0, 0x24] - movs r1, 0x68 - strh r1, [r0, 0x2E] - movs r1, 0x9 - strh r1, [r0, 0x30] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0x65 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - movs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x80 - strh r1, [r0, 0x2E] - movs r1, 0x41 - strh r1, [r0, 0x30] - ldr r1, [r7] - movs r0, 0x2 - strb r0, [r1, 0x2] - ldr r1, [r7] - ldr r0, _08124404 @ =0x00000109 - strh r0, [r1, 0x4] - movs r0, 0x7 - bl sub_807C9B4 -_0812431E: - movs r4, 0 - ldr r5, _081243FC @ =gSprites -_08124322: - lsls r1, r4, 20 - movs r0, 0xC0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - lsls r2, r4, 19 - ldr r3, _08124408 @ =0xfff80000 - adds r2, r3 - asrs r2, 16 - ldr r0, _0812440C @ =gSpriteTemplate_8401D70 - movs r3, 0x68 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8 - strh r1, [r0, 0x24] - strh r1, [r0, 0x26] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _08124322 - movs r0, 0x3F - mov r4, r9 - ands r0, r4 - cmp r0, 0 - bne _08124458 - mov r0, r9 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - add r0, r8 - ldrb r0, [r0] - ldr r5, _08124410 @ =gSpecialVar_0x8004 - ldrh r4, [r5] - lsls r4, 2 - add r1, sp, 0x1C - adds r1, r4, r1 - ldr r1, [r1] - mov r3, r10 - adds r2, r3, r4 - movs r3, 0 - ldrsh r2, [r2, r3] - mov r3, sp - adds r3, 0x12 - adds r3, r4 - movs r4, 0 - ldrsh r3, [r3, r4] - movs r4, 0x6A - str r4, [sp] - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _08124458 - ldr r1, _081243FC @ =gSprites - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r5] - mov r8, r2 - cmp r0, 0 - bne _0812441A - movs r7, 0x1 - mov r5, r9 - ands r5, r7 - cmp r5, 0 - beq _08124414 - adds r0, r4, 0 - movs r1, 0x6 - b _08124428 - .align 2, 0 -_081243EC: .4byte gUnknown_02039274 -_081243F0: .4byte gSharedMem + 0x19048 -_081243F4: .4byte gSaveBlock2 -_081243F8: .4byte sub_8123D98 -_081243FC: .4byte gSprites -_08124400: .4byte gSpriteTemplate_8401D40 -_08124404: .4byte 0x00000109 -_08124408: .4byte 0xfff80000 -_0812440C: .4byte gSpriteTemplate_8401D70 -_08124410: .4byte gSpecialVar_0x8004 -_08124414: - adds r0, r4, 0 - movs r1, 0x7 - b _0812443A -_0812441A: - movs r7, 0x1 - mov r5, r9 - ands r5, r7 - cmp r5, 0 - beq _08124436 - adds r0, r4, 0 - movs r1, 0x7 -_08124428: - bl StartSpriteAnim - strh r7, [r4, 0x30] - ldrh r0, [r4, 0x22] - adds r0, 0x2 - strh r0, [r4, 0x22] - b _08124440 -_08124436: - adds r0, r4, 0 - movs r1, 0x6 -_0812443A: - bl StartSpriteAnim - strh r5, [r4, 0x30] -_08124440: - ldr r0, _08124468 @ =gSprites - mov r2, r8 - adds r1, r2, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x3 - mov r3, r9 - ands r0, r3 - add r0, sp - adds r0, 0x18 - ldrb r0, [r0] - strh r0, [r1, 0x32] -_08124458: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08124468: .4byte gSprites - thumb_func_end sub_8124118 - - thumb_func_start sub_812446C -sub_812446C: @ 812446C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r3, 0 - mov r9, r3 - ldr r2, _08124530 @ =gUnknown_02039274 - ldr r0, [r2] - ldrb r1, [r0, 0x1B] - adds r1, 0x2 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 26 - lsrs r0, 24 - mov r12, r0 -_0812448E: - movs r6, 0 - lsls r0, r3, 1 - adds r1, r3, 0x3 - adds r2, r3, 0x6 - adds r4, r3, 0x1 - str r4, [sp] - adds r0, r3 - lsls r0, 3 - mov r10, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r8, r0 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - str r0, [sp, 0x4] -_081244B0: - ldr r7, _08124530 @ =gUnknown_02039274 - ldr r5, [r7] - lsls r3, r6, 1 - mov r0, r10 - adds r2, r3, r0 - adds r4, r5, 0 - adds r4, 0x22 - adds r2, r4, r2 - mov r1, r12 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 1 - ldr r7, _08124534 @ =gSharedMem + 0x19000 - adds r1, r7 - ldrh r0, [r1] - strh r0, [r2] - mov r0, r8 - adds r1, r3, r0 - adds r1, r4, r1 - mov r7, r9 - lsls r2, r7, 1 - ldr r7, _08124534 @ =gSharedMem + 0x19000 - adds r0, r2, r7 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, [sp, 0x4] - adds r3, r0 - adds r4, r3 - ldr r1, _08124538 @ =gSharedMem + 0x19048 - adds r2, r1 - ldrh r0, [r2] - strh r0, [r4] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xB - bls _081244B0 - ldr r4, [sp] - lsls r0, r4, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _0812448E - ldrb r0, [r5, 0x1B] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strb r0, [r5, 0x1B] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08124530: .4byte gUnknown_02039274 -_08124534: .4byte gSharedMem + 0x19000 -_08124538: .4byte gSharedMem + 0x19048 - thumb_func_end sub_812446C - - thumb_func_start sub_812453C -sub_812453C: @ 812453C - push {r4,r5,lr} - ldr r5, _08124594 @ =gUnknown_02039274 - ldr r4, [r5] - ldrb r0, [r4, 0x1C] - adds r0, 0x1 - movs r1, 0x60 - bl __modsi3 - strb r0, [r4, 0x1C] - ldr r1, [r5] - ldrb r0, [r1, 0x1F] - ldrb r2, [r1, 0x1D] - subs r0, r2 - strb r0, [r1, 0x8] - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - ldrb r1, [r2, 0x1E] - subs r0, r1 - strb r0, [r2, 0x9] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - adds r0, 0x1 - strb r0, [r1, 0x1D] - ldr r2, [r5] - ldrb r0, [r2, 0x1D] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08124580 - ldrb r0, [r2, 0x1E] - adds r0, 0x1 - strb r0, [r2, 0x1E] -_08124580: - ldr r0, [r5] - ldrb r0, [r0, 0x1D] - cmp r0, 0x10 - bls _0812458C - bl sub_81245F4 -_0812458C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08124594: .4byte gUnknown_02039274 - thumb_func_end sub_812453C - - thumb_func_start sub_8124598 -sub_8124598: @ 8124598 - push {r4,r5,lr} - ldr r5, _081245F0 @ =gUnknown_02039274 - ldr r4, [r5] - ldrb r0, [r4, 0x1C] - adds r0, 0x1 - movs r1, 0x60 - bl __modsi3 - strb r0, [r4, 0x1C] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - ldrb r2, [r1, 0x1F] - adds r0, r2 - strb r0, [r1, 0x8] - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x20 - ldrb r0, [r1, 0x1E] - ldrb r2, [r2] - adds r0, r2 - strb r0, [r1, 0x9] - ldr r1, [r5] - ldrb r0, [r1, 0x1D] - adds r0, 0x1 - strb r0, [r1, 0x1D] - ldr r2, [r5] - ldrb r0, [r2, 0x1D] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081245DC - ldrb r0, [r2, 0x1E] - adds r0, 0x1 - strb r0, [r2, 0x1E] -_081245DC: - ldr r0, [r5] - ldrb r0, [r0, 0x1D] - cmp r0, 0x10 - bls _081245E8 - bl sub_812476C -_081245E8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081245F0: .4byte gUnknown_02039274 - thumb_func_end sub_8124598 - - thumb_func_start sub_81245F4 -sub_81245F4: @ 81245F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r12, r0 - ldr r2, _0812475C @ =gUnknown_02039274 - ldr r0, [r2] - mov r1, r12 - strb r1, [r0, 0x1E] - strb r1, [r0, 0x1D] - ldr r1, [r2] - ldrb r0, [r1, 0x8] - strb r0, [r1, 0x1F] - ldr r0, [r2] - ldrb r1, [r0, 0x9] - adds r0, 0x20 - strb r1, [r0] - ldr r4, [r2] - ldrb r1, [r4, 0x19] - adds r3, r1, 0 - adds r3, 0x1E - adds r0, r3, 0 - mov r9, r2 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r4, 0x19] - mov r2, r9 - ldr r1, [r2] - ldrb r0, [r1, 0x18] - subs r0, 0x2 - strb r0, [r1, 0x18] - ldr r0, [r2] - ldrb r1, [r0, 0x1A] - adds r2, r1, 0 - adds r2, 0x17 - adds r0, r2, 0 - ldr r3, _08124760 @ =gUnknown_0203927A - mov r10, r3 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - mov r4, r10 - strb r0, [r4] - ldr r7, _08124764 @ =gUnknown_02039278 - ldr r0, _08124768 @ =gUnknown_02039279 - mov r8, r0 -_08124658: - mov r1, r9 - ldr r3, [r1] - ldrb r0, [r3, 0x19] - strb r0, [r7] - mov r2, r10 - ldrb r0, [r2] - mov r4, r12 - adds r1, r0, r4 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - mov r1, r8 - strb r0, [r1] - ldrb r2, [r7] - lsls r2, 1 - ldrb r0, [r1] - lsls r0, 6 - adds r2, r0 - adds r6, r3, 0 - adds r6, 0xFC - adds r2, r6, r2 - ldrb r1, [r3, 0x18] - lsls r1, 1 - mov r4, r12 - lsls r0, r4, 1 - add r0, r12 - lsls r5, r0, 3 - adds r1, r5 - adds r4, r3, 0 - adds r4, 0x22 - adds r1, r4, r1 - ldrh r0, [r1] - strh r0, [r2] - ldrb r1, [r7] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r7] - ldrb r1, [r7] - lsls r1, 1 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 6 - adds r1, r0 - adds r1, r6, r1 - ldrb r0, [r3, 0x18] - adds r0, 0x1 - lsls r0, 1 - adds r0, r5 - adds r0, r4, r0 - ldrh r0, [r0] - strh r0, [r1] - mov r0, r12 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0x8 - bls _08124658 - ldr r4, _08124764 @ =gUnknown_02039278 - mov r5, r9 - ldr r3, [r5] - ldrb r1, [r3, 0x19] - adds r2, r1, 0 - adds r2, 0x1E - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r4] - adds r0, r3, 0 - adds r0, 0xFC - ldrb r2, [r4] - movs r1, 0x2 - str r1, [sp] - movs r6, 0x20 - str r6, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl sub_8124E7C - ldr r1, [r5] - ldrb r0, [r1, 0x18] - cmp r0, 0 - bne _0812474C - ldrb r2, [r1, 0x1A] - adds r3, r2, 0 - adds r3, 0x1D - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r1, 0x1A] - mov r3, r9 - ldr r1, [r3] - movs r0, 0xC - strb r0, [r1, 0x18] - bl sub_812446C - mov r4, r9 - ldr r1, [r4] - ldrb r3, [r1, 0x1A] - adds r4, r3, 0x1 - adds r0, r4, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r4, r0 - ldr r2, _08124764 @ =gUnknown_02039278 - strb r0, [r2] - adds r0, r1, 0 - adds r0, 0xFC - ldrb r3, [r2] - str r6, [sp] - movs r1, 0x9 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - bl sub_8124E7C -_0812474C: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812475C: .4byte gUnknown_02039274 -_08124760: .4byte gUnknown_0203927A -_08124764: .4byte gUnknown_02039278 -_08124768: .4byte gUnknown_02039279 - thumb_func_end sub_81245F4 - - thumb_func_start sub_812476C -sub_812476C: @ 812476C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r12, r0 - ldr r2, _0812489C @ =gUnknown_02039274 - ldr r0, [r2] - mov r1, r12 - strb r1, [r0, 0x1E] - strb r1, [r0, 0x1D] - ldr r1, [r2] - ldrb r0, [r1, 0x8] - strb r0, [r1, 0x1F] - ldr r0, [r2] - ldrb r1, [r0, 0x9] - adds r0, 0x20 - strb r1, [r0] - ldr r4, [r2] - ldrb r1, [r4, 0x19] - adds r3, r1, 0x2 - adds r0, r3, 0 - mov r9, r2 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r4, 0x19] - mov r2, r9 - ldr r1, [r2] - ldrb r0, [r1, 0x18] - adds r0, 0x2 - strb r0, [r1, 0x18] - ldr r1, _081248A0 @ =gUnknown_0203927D - ldr r0, [r2] - ldrb r0, [r0, 0x1A] - strb r0, [r1] - ldr r4, _081248A4 @ =gUnknown_0203927C - mov r10, r4 - ldr r7, _081248A8 @ =gUnknown_0203927B - mov r8, r10 -_081247C0: - mov r0, r9 - ldr r3, [r0] - ldrb r0, [r3, 0x19] - strb r0, [r7] - ldr r1, _081248A0 @ =gUnknown_0203927D - ldrb r0, [r1] - mov r2, r12 - adds r1, r0, r2 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - mov r4, r8 - strb r0, [r4] - ldrb r2, [r7] - lsls r2, 1 - ldrb r0, [r4] - lsls r0, 6 - adds r2, r0 - adds r6, r3, 0 - adds r6, 0xFC - adds r2, r6, r2 - ldrb r1, [r3, 0x18] - lsls r1, 1 - mov r4, r12 - lsls r0, r4, 1 - add r0, r12 - lsls r5, r0, 3 - adds r1, r5 - adds r4, r3, 0 - adds r4, 0x22 - adds r1, r4, r1 - ldrh r0, [r1] - strh r0, [r2] - ldrb r1, [r7] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - strb r0, [r7] - ldrb r1, [r7] - lsls r1, 1 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 6 - adds r1, r0 - adds r1, r6, r1 - ldrb r0, [r3, 0x18] - adds r0, 0x1 - lsls r0, 1 - adds r0, r5 - adds r0, r4, r0 - ldrh r0, [r0] - strh r0, [r1] - mov r0, r12 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0x8 - bls _081247C0 - mov r4, r9 - ldr r1, [r4] - ldrb r2, [r1, 0x1A] - adds r3, r2, 0 - adds r3, 0x17 - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - mov r2, r10 - strb r0, [r2] - adds r0, r1, 0 - adds r0, 0xFC - ldrb r2, [r1, 0x19] - mov r1, r10 - ldrb r3, [r1] - movs r1, 0x2 - str r1, [sp] - movs r1, 0x9 - str r1, [sp, 0x4] - movs r1, 0 - bl sub_8124E7C - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0xA - bne _0812488C - ldrb r2, [r1, 0x1A] - adds r3, r2, 0x3 - adds r0, r3, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r3, r0 - strb r0, [r1, 0x1A] - mov r2, r9 - ldr r1, [r2] - movs r0, 0xFE - strb r0, [r1, 0x18] - bl sub_812446C -_0812488C: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812489C: .4byte gUnknown_02039274 -_081248A0: .4byte gUnknown_0203927D -_081248A4: .4byte gUnknown_0203927C -_081248A8: .4byte gUnknown_0203927B - thumb_func_end sub_812476C - - thumb_func_start sub_81248AC -sub_81248AC: @ 81248AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _081248BA - cmp r0, 0x1 - beq _081248E4 -_081248BA: - ldr r1, _081248E0 @ =gUnknown_02039274 - ldr r2, [r1] - movs r3, 0 - movs r0, 0x2 - strb r0, [r2, 0x1B] - ldr r0, [r1] - strb r3, [r0, 0x19] - ldr r2, [r1] - movs r0, 0x14 - strb r0, [r2, 0x1A] - ldr r1, [r1] - movs r0, 0xC - strb r0, [r1, 0x18] - bl sub_812446C - bl sub_81245F4 - b _08124906 - .align 2, 0 -_081248E0: .4byte gUnknown_02039274 -_081248E4: - ldr r1, _08124914 @ =gUnknown_02039274 - ldr r2, [r1] - movs r0, 0x2 - strb r0, [r2, 0x1B] - ldr r2, [r1] - movs r0, 0x1C - strb r0, [r2, 0x19] - ldr r2, [r1] - movs r0, 0x14 - strb r0, [r2, 0x1A] - ldr r1, [r1] - movs r0, 0x4 - strb r0, [r1, 0x18] - bl sub_812446C - bl sub_812476C -_08124906: - ldr r0, _08124914 @ =gUnknown_02039274 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_08124914: .4byte gUnknown_02039274 - thumb_func_end sub_81248AC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s deleted file mode 100644 index 50ef19dec..000000000 --- a/asm/cable_car_util.s +++ /dev/null @@ -1,162 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8124E7C -sub_8124E7C: @ 8124E7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - movs r0, 0 - lsrs r4, r3, 24 - cmp r0, r8 - bcs _08124EF6 -_08124EAE: - ldr r2, [sp] - movs r3, 0 - adds r6, r4, 0x1 - adds r0, 0x1 - mov r12, r0 - cmp r3, r7 - bcs _08124EE0 - lsls r5, r4, 6 -_08124EBE: - lsls r0, r2, 1 - adds r0, r5 - add r0, r10 - mov r1, r9 - strh r1, [r0] - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r7 - bcc _08124EBE -_08124EE0: - adds r0, r6, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r6, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r12 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _08124EAE -_08124EF6: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124E7C - - thumb_func_start sub_8124F08 -sub_8124F08: @ 8124F08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r0, 0 - adds r5, r1, 0 - lsrs r4, r3, 24 - cmp r0, r9 - bcs _08124F82 -_08124F38: - ldr r2, [sp] - movs r3, 0 - adds r7, r4, 0x1 - adds r0, 0x1 - mov r8, r0 - cmp r3, r12 - bcs _08124F6C - lsls r6, r4, 6 -_08124F48: - lsls r0, r2, 1 - adds r0, r6 - add r0, r10 - ldrh r1, [r5] - strh r1, [r0] - adds r5, 0x2 - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r12 - bcc _08124F48 -_08124F6C: - adds r0, r7, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r7, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08124F38 -_08124F82: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124F08 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index 26ed8e3fe..6bd98cc8a 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -2947,6 +2947,7 @@ _080C37DC: .4byte REG_WININ _080C37E0: .4byte 0x00003f3f thumb_func_end sub_80C3764 +.ifdef ENGLISH thumb_func_start sub_80C37E4 sub_80C37E4: @ 80C37E4 push {r4-r6,lr} @@ -3156,6 +3157,276 @@ _080C3984: .4byte 0x0600e000 _080C3988: .4byte gUnknown_08E964B8 _080C398C: .4byte 0x00000fff thumb_func_end sub_80C37E4 +.else + thumb_func_start de_sub_80C39A8 +de_sub_80C39A8: @ 80C39A8 + push {r4,lr} + sub sp, 0x10 + adds r1, r0, 0 + ldr r0, _de_080C39DC @ =gIsLinkContest + ldrb r0, [r0] + movs r4, 0x1 + ands r4, r0 + cmp r4, 0 + beq _de_080C39E8 + ldr r0, _de_080C39E0 @ =0x0600e000 + lsls r1, 16 + lsrs r1, 16 + ldr r3, _de_080C39E4 @ =gUnknown_08E964B8 + movs r2, 0xB + str r2, [sp] + movs r4, 0x3 + str r4, [sp, 0x4] + movs r2, 0x8 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl sub_809D104 + movs r0, 0x8 + b _de_080C3A74 + .align 2, 0 +_de_080C39DC: .4byte gIsLinkContest +_de_080C39E0: .4byte 0x0600e000 +_de_080C39E4: .4byte gUnknown_08E964B8 +_de_080C39E8: + ldr r0, _de_080C3A08 @ =gSpecialVar_ContestRank + ldrh r0, [r0] + cmp r0, 0 + bne _de_080C3A14 + ldr r0, _de_080C3A0C @ =0x0600e000 + lsls r1, 16 + lsrs r1, 16 + ldr r3, _de_080C3A10 @ =gUnknown_08E964B8 + str r4, [sp] + str r4, [sp, 0x4] + movs r2, 0xB + str r2, [sp, 0x8] + movs r2, 0x3 + str r2, [sp, 0xC] + b _de_080C3A6C + .align 2, 0 +_de_080C3A08: .4byte gSpecialVar_ContestRank +_de_080C3A0C: .4byte 0x0600e000 +_de_080C3A10: .4byte gUnknown_08E964B8 +_de_080C3A14: + cmp r0, 0x1 + bne _de_080C3A2C + ldr r0, _de_080C3A24 @ =0x0600e000 + lsls r1, 16 + lsrs r1, 16 + ldr r3, _de_080C3A28 @ =gUnknown_08E964B8 + movs r2, 0xB + b _de_080C3A3A + .align 2, 0 +_de_080C3A24: .4byte 0x0600e000 +_de_080C3A28: .4byte gUnknown_08E964B8 +_de_080C3A2C: + cmp r0, 0x2 + bne _de_080C3A58 + ldr r0, _de_080C3A50 @ =0x0600e000 + lsls r1, 16 + lsrs r1, 16 + ldr r3, _de_080C3A54 @ =gUnknown_08E964B8 + movs r2, 0x15 +_de_080C3A3A: + str r2, [sp] + str r4, [sp, 0x4] + movs r2, 0xA + str r2, [sp, 0x8] + movs r2, 0x3 + str r2, [sp, 0xC] + movs r2, 0 + bl sub_809D104 + movs r0, 0xA + b _de_080C3A74 + .align 2, 0 +_de_080C3A50: .4byte 0x0600e000 +_de_080C3A54: .4byte gUnknown_08E964B8 +_de_080C3A58: + ldr r0, _de_080C3A7C @ =0x0600e000 + lsls r1, 16 + lsrs r1, 16 + ldr r3, _de_080C3A80 @ =gUnknown_08E964B8 + str r4, [sp] + movs r4, 0x3 + str r4, [sp, 0x4] + movs r2, 0xB + str r2, [sp, 0x8] + str r4, [sp, 0xC] +_de_080C3A6C: + movs r2, 0 + bl sub_809D104 + movs r0, 0xB +_de_080C3A74: + add sp, 0x10 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_de_080C3A7C: .4byte 0x0600e000 +_de_080C3A80: .4byte gUnknown_08E964B8 + thumb_func_end de_sub_80C39A8 + + thumb_func_start de_sub_80C3A84 +de_sub_80C3A84: @ 80C3A84 + push {r4,lr} + sub sp, 0x10 + adds r2, r0, 0 + ldr r0, _de_080C3AAC @ =gSpecialVar_ContestCategory + ldrh r4, [r0] + cmp r4, 0 + bne _de_080C3AB8 + str r4, [r1] + ldr r0, _de_080C3AB0 @ =0x0600e000 + lsls r1, r2, 16 + lsrs r1, 16 + ldr r3, _de_080C3AB4 @ =gUnknown_08E964B8 + movs r2, 0x13 + str r2, [sp] + movs r4, 0x3 + str r4, [sp, 0x4] + movs r2, 0x7 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + b _de_080C3AD6 + .align 2, 0 +_de_080C3AAC: .4byte gSpecialVar_ContestCategory +_de_080C3AB0: .4byte 0x0600e000 +_de_080C3AB4: .4byte gUnknown_08E964B8 +_de_080C3AB8: + cmp r4, 0x1 + bne _de_080C3AE8 + str r4, [r1] + ldr r0, _de_080C3AE0 @ =0x0600e000 + lsls r1, r2, 16 + lsrs r1, 16 + ldr r3, _de_080C3AE4 @ =gUnknown_08E964B8 + movs r2, 0 + str r2, [sp] + movs r2, 0x6 + str r2, [sp, 0x4] + movs r2, 0x7 + str r2, [sp, 0x8] + movs r2, 0x3 + str r2, [sp, 0xC] +_de_080C3AD6: + movs r2, 0 + bl sub_809D104 + movs r0, 0x7 + b _de_080C3B68 + .align 2, 0 +_de_080C3AE0: .4byte 0x0600e000 +_de_080C3AE4: .4byte gUnknown_08E964B8 +_de_080C3AE8: + cmp r4, 0x2 + bne _de_080C3B18 + str r4, [r1] + ldr r0, _de_080C3B10 @ =0x0600e000 + lsls r1, r2, 16 + lsrs r1, 16 + ldr r3, _de_080C3B14 @ =gUnknown_08E964B8 + movs r2, 0x7 + str r2, [sp] + movs r2, 0x6 + str r2, [sp, 0x4] + movs r2, 0x4 + str r2, [sp, 0x8] + movs r2, 0x3 + str r2, [sp, 0xC] + movs r2, 0 + bl sub_809D104 + movs r0, 0x4 + b _de_080C3B68 + .align 2, 0 +_de_080C3B10: .4byte 0x0600e000 +_de_080C3B14: .4byte gUnknown_08E964B8 +_de_080C3B18: + cmp r4, 0x3 + bne _de_080C3B44 + str r4, [r1] + ldr r0, _de_080C3B3C @ =0x0600e000 + lsls r1, r2, 16 + lsrs r1, 16 + ldr r3, _de_080C3B40 @ =gUnknown_08E964B8 + movs r2, 0xB + str r2, [sp] + movs r2, 0x6 + str r2, [sp, 0x4] + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl sub_809D104 + movs r0, 0x6 + b _de_080C3B68 + .align 2, 0 +_de_080C3B3C: .4byte 0x0600e000 +_de_080C3B40: .4byte gUnknown_08E964B8 +_de_080C3B44: + movs r0, 0x4 + str r0, [r1] + ldr r0, _de_080C3B70 @ =0x0600e000 + lsls r1, r2, 16 + lsrs r1, 16 + ldr r3, _de_080C3B74 @ =gUnknown_08E964B8 + movs r2, 0x11 + str r2, [sp] + movs r2, 0x6 + str r2, [sp, 0x4] + movs r2, 0x5 + str r2, [sp, 0x8] + movs r2, 0x3 + str r2, [sp, 0xC] + movs r2, 0 + bl sub_809D104 + movs r0, 0x5 +_de_080C3B68: + add sp, 0x10 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_de_080C3B70: .4byte 0x0600e000 +_de_080C3B74: .4byte gUnknown_08E964B8 + thumb_func_end de_sub_80C3A84 + + thumb_func_start sub_80C37E4 +sub_80C37E4: @ 80C37E4 + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0x6 + bl de_sub_80C39A8 + lsls r0, 16 + asrs r0, 16 + adds r0, 0x6 + mov r1, sp + bl de_sub_80C3A84 + ldr r5, _080C3824 @ =0x00000fff + ldr r0, [sp] + lsls r4, r0, 12 + ldr r2, _080C3828 @ =0x0600e000 + movs r3, 0x7F +_080C3804: + ldrh r1, [r2] + adds r0, r5, 0 + ands r0, r1 + strh r0, [r2] + ldrh r1, [r2] + adds r0, r4, 0 + orrs r0, r1 + strh r0, [r2] + adds r2, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080C3804 + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080C3824: .4byte 0x00000fff +_080C3828: .4byte 0x0600e000 + thumb_func_end sub_80C37E4 +.endif thumb_func_start sub_80C3990 sub_80C3990: @ 80C3990 diff --git a/asm/contest_link_80C857C.s b/asm/contest_link_80C857C.s index 0ff6823b5..13d01d5a9 100644 --- a/asm/contest_link_80C857C.s +++ b/asm/contest_link_80C857C.s @@ -82,6 +82,7 @@ _080C85FE: bx r1 thumb_func_end sub_80C85D8 +.ifdef ENGLISH thumb_func_start sub_80C8604 sub_80C8604: @ 80C8604 push {r4-r6,lr} @@ -116,6 +117,26 @@ _080C8638: .4byte gTasks _080C863C: .4byte sub_80C8644 _080C8640: .4byte gBlockRecvBuffer thumb_func_end sub_80C8604 +.else + thumb_func_start sub_80C8604 +sub_80C8604: @ 80C8604 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080C861C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x8] + ldr r0, _080C8620 @ =sub_80C8644 + str r0, [r1] + bx lr + .align 2, 0 +_080C861C: .4byte gTasks +_080C8620: .4byte sub_80C8644 + thumb_func_end sub_80C8604 +.endif thumb_func_start sub_80C8644 sub_80C8644: @ 80C8644 @@ -170,14 +191,22 @@ _080C869C: .4byte gIsLinkContest sub_80C86A0: @ 80C86A0 push {r4,r5,lr} adds r4, r0, 0 +.ifdef ENGLISH movs r5, 0x2 +.else + movs r5, 0x5 +.endif ldrb r0, [r4] cmp r0, 0xFC bne _080C86B6 ldrb r0, [r4, 0x1] cmp r0, 0x15 bne _080C86B6 +.ifdef ENGLISH movs r0, 0x2 +.else + movs r0, 0x5 +.endif b _080C872C _080C86B6: adds r0, r4, 0 @@ -248,6 +277,7 @@ _080C872C: bx r1 thumb_func_end sub_80C86A0 +.ifdef ENGLISH thumb_func_start sub_80C8734 sub_80C8734: @ 80C8734 push {r4-r7,lr} @@ -429,6 +459,232 @@ _080C8896: .align 2, 0 _080C88A8: .4byte gTasks thumb_func_end sub_80C8734 +.else + thumb_func_start sub_80C8734 +sub_80C8734: @ 80C8734 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080C8760 @ =gTasks + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r0, 3 + adds r2, r0, r1 + movs r3, 0x8 + ldrsh r0, [r2, r3] + cmp r0, 0x1 + beq _080C8800 + cmp r0, 0x1 + bgt _080C8764 + cmp r0, 0 + beq _080C8770 + b _080C88E0 + .align 2, 0 +_080C8760: .4byte gTasks +_080C8764: + cmp r0, 0x2 + bne _080C876A + b _080C88D4_B +_080C876A: + cmp r0, 0x8 + beq _080C8770 + b _080C88E0 +_080C8770: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _080C87D4 + bl sub_8007ECC + lsls r0, 24 + cmp r0, 0 + bne _080C8786 + b _080C88EE +_080C8786: + ldr r0, _080C87A0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r4, r1, r0 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080C87A4 + movs r0, 0x3 + strh r0, [r4, 0x8] + b _080C88EE + .align 2, 0 +_080C87A0: .4byte gTasks +_080C87A4: + ldr r0, _080C87C8 @ =gBlockSendBuffer + ldr r1, _080C87CC @ =gContestPlayerMonIndex + ldrb r1, [r1] + lsls r1, 6 + ldr r2, _080C87D0 @ =gContestMons + adds r1, r2 + movs r2, 0x40 + bl memcpy + movs r0, 0 + bl de_sub_80C9274 + movs r0, 0x2 + bl sub_8007E9C + movs r0, 0x1 + strh r0, [r4, 0x8] + b _080C88EE + .align 2, 0 +_080C87C8: .4byte gBlockSendBuffer +_080C87CC: .4byte gContestPlayerMonIndex +_080C87D0: .4byte gContestMons +_080C87D4: + ldr r0, _080C87F0 @ =gBlockSendBuffer + ldr r1, _080C87F4 @ =gContestPlayerMonIndex + ldrb r1, [r1] + lsls r1, 6 + ldr r2, _080C87F8 @ =gContestMons + adds r1, r2 + movs r2, 0x40 + bl memcpy + movs r0, 0 + bl de_sub_80C9294 + ldr r1, _080C87FC @ =gTasks + b _080C88E0 + .align 2, 0 +_080C87F0: .4byte gBlockSendBuffer +_080C87F4: .4byte gContestPlayerMonIndex +_080C87F8: .4byte gContestMons +_080C87FC: .4byte gTasks +_080C8800: + bl sub_80C85D8 + lsls r0, 24 + cmp r0, 0 + beq _080C88EE + movs r2, 0 + mov r8, r2 + str r4, [sp] + ldr r0, _080C884C @ =gContestMons + ldr r7, _080C8850 @ =gLinkPlayers + movs r6, 0 + mov r10, r0 + movs r3, 0xFF + mov r9, r3 +_080C881C: + mov r0, r8 + lsls r1, r0, 8 + ldr r0, _080C8854 @ =gBlockRecvBuffer + adds r1, r0 + mov r0, r10 + movs r2, 0x40 + bl memcpy + ldr r1, _080C8858 @ =gContestMons + 0x2 + adds r4, r6, r1 + ldrh r0, [r7, 0x1A] + cmp r0, 0x1 + bne _080C885C + adds r0, r4, 0 + bl sub_80C86A0 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl ConvertInternationalString + b _080C8872 + .align 2, 0 +_080C884C: .4byte gContestMons +_080C8850: .4byte gLinkPlayers +_080C8854: .4byte gBlockRecvBuffer +_080C8858: .4byte gContestMons + 0x2 +_080C885C: + ldrb r0, [r4, 0xA] + cmp r0, 0xFC + bne _080C886C + adds r0, r4, 0 + movs r1, 0x1 + bl ConvertInternationalString + b _080C8872 +_080C886C: + strb r0, [r4, 0x5] + mov r2, r9 + strb r2, [r4, 0xA] +_080C8872: + ldr r0, _080C88A0 @ =gUnknown_0203857D + adds r4, r6, r0 + ldrh r0, [r7, 0x1A] + cmp r0, 0x1 + bne _080C88A4 + mov r3, r9 + strb r3, [r4, 0x7] + ldrb r0, [r4, 0x4] + strb r0, [r4, 0x6] + ldrb r0, [r4, 0x3] + strb r0, [r4, 0x5] + ldrb r0, [r4, 0x2] + strb r0, [r4, 0x4] + ldrb r0, [r4, 0x1] + strb r0, [r4, 0x3] + ldrb r0, [r4] + strb r0, [r4, 0x2] + movs r0, 0x15 + strb r0, [r4, 0x1] + movs r0, 0xFC + strb r0, [r4] + b _080C88AC + .align 2, 0 +_080C88A0: .4byte gUnknown_0203857D +_080C88A4: + ldrb r0, [r4, 0x7] + strb r0, [r4, 0x5] + mov r0, r9 + strb r0, [r4, 0x7] +_080C88AC: + adds r7, 0x1C + adds r6, 0x40 + movs r1, 0x40 + add r10, r1 + movs r2, 0x1 + add r8, r2 + mov r3, r8 + cmp r3, 0x3 + ble _080C881C + ldr r0, _080C88D0 @ =gTasks + ldr r2, [sp] + adds r1, r2, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080C88EE + .align 2, 0 +_080C88D0: .4byte gTasks +_080C88D4_B: + movs r0, 0 + strh r0, [r2, 0x8] + adds r0, r5, 0 + bl SwitchTaskToFollowupFunc + b _080C88EE +_080C88E0: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] +_080C88EE: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C8734 +.endif thumb_func_start sub_80C88AC sub_80C88AC: @ 80C88AC @@ -497,6 +753,7 @@ _080C8930: .4byte gBlockRecvBuffer _080C8934: .4byte gUnknown_03005D28 thumb_func_end sub_80C88AC +.ifdef ENGLISH thumb_func_start sub_80C8938 sub_80C8938: @ 80C8938 push {r4-r7,lr} @@ -582,6 +839,129 @@ _080C89CE: .align 2, 0 _080C89D8: .4byte gBlockRecvBuffer thumb_func_end sub_80C8938 +.else + thumb_func_start sub_80C8938 +sub_80C8938: @ 80C8938 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _080C8960 @ =gTasks + lsls r5, r4, 2 + adds r0, r5, r4 + lsls r6, r0, 3 + adds r2, r6, r1 + movs r3, 0x8 + ldrsh r0, [r2, r3] + mov r8, r1 + cmp r0, 0x1 + beq _080C89C4 + cmp r0, 0x1 + bgt _080C8964 + cmp r0, 0 + beq _080C896C + b _080C8A0C + .align 2, 0 +_080C8960: .4byte gTasks +_080C8964: + cmp r0, 0x2 + beq _080C8A00 + cmp r0, 0x8 + bne _080C8A0C +_080C896C: + ldr r1, _080C89A0 @ =gBlockSendBuffer + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + mov r2, r8 + adds r4, r0, r2 + ldrh r0, [r4, 0x1A] + strb r0, [r1] + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _080C89B6 + bl sub_8007ECC + lsls r0, 24 + cmp r0, 0 + beq _080C8A1A + movs r3, 0x8 + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _080C89A4 + movs r0, 0x3 + strh r0, [r4, 0x8] + b _080C8A1A + .align 2, 0 +_080C89A0: .4byte gBlockSendBuffer +_080C89A4: + movs r0, 0x1 + bl de_sub_80C9274 + movs r0, 0x2 + bl sub_8007E9C + movs r0, 0x1 + strh r0, [r4, 0x8] + b _080C8A1A +_080C89B6: + movs r0, 0x1 + bl de_sub_80C9294 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _080C8A1A +_080C89C4: + bl sub_80C85D8 + lsls r0, 24 + cmp r0, 0 + beq _080C8A1A + movs r3, 0 + adds r7, r5, 0 + ldr r1, _080C89FC @ =gBlockRecvBuffer + mov r0, r8 + adds r0, 0xA + adds r2, r6, r0 + movs r5, 0x80 + lsls r5, 1 +_080C89DE: + ldrh r0, [r1] + strh r0, [r2] + adds r1, r5 + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x3 + ble _080C89DE + adds r1, r7, r4 + lsls r1, 3 + add r1, r8 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080C8A1A + .align 2, 0 +_080C89FC: .4byte gBlockRecvBuffer +_080C8A00: + movs r0, 0 + strh r0, [r2, 0x8] + adds r0, r4, 0 + bl SwitchTaskToFollowupFunc + b _080C8A1A +_080C8A0C: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + add r0, r8 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] +_080C8A1A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C8938 +.endif thumb_func_start sub_80C89DC sub_80C89DC: @ 80C89DC @@ -1096,6 +1476,7 @@ _080C8E16: bx r0 thumb_func_end sub_80C8C80 +.ifdef ENGLISH thumb_func_start sub_80C8E1C sub_80C8E1C: @ 80C8E1C push {r4-r7,lr} @@ -1179,6 +1560,131 @@ _080C8EAE: .align 2, 0 _080C8EB8: .4byte gBlockRecvBuffer thumb_func_end sub_80C8E1C +.else + thumb_func_start sub_80C8E1C +sub_80C8E1C: @ 80C8E1C + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _080C8E40 @ =gTasks + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r6, r0, 3 + adds r2, r6, r1 + movs r3, 0x8 + ldrsh r0, [r2, r3] + adds r7, r1, 0 + cmp r0, 0x1 + beq _080C8EB0 + cmp r0, 0x1 + bgt _080C8E44 + cmp r0, 0 + beq _080C8E4C + b _080C8EF8 + .align 2, 0 +_080C8E40: .4byte gTasks +_080C8E44: + cmp r0, 0x2 + beq _080C8EEC + cmp r0, 0x8 + bne _080C8EF8 +_080C8E4C: + ldr r1, _080C8E80 @ =gBlockSendBuffer + movs r0, 0x64 + strb r0, [r1] + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _080C8E9A + bl sub_8007ECC + lsls r0, 24 + cmp r0, 0 + beq _080C8F06 + ldr r0, _080C8E84 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r4, r1, r0 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080C8E88 + movs r0, 0x3 + strh r0, [r4, 0x8] + b _080C8F06 + .align 2, 0 +_080C8E80: .4byte gBlockSendBuffer +_080C8E84: .4byte gTasks +_080C8E88: + movs r0, 0 + bl de_sub_80C9274 + movs r0, 0x2 + bl sub_8007E9C + movs r0, 0x1 + strh r0, [r4, 0x8] + b _080C8F06 +_080C8E9A: + movs r0, 0 + bl de_sub_80C9294 + ldr r0, _080C8EAC @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + b _080C8EDE + .align 2, 0 +_080C8EAC: .4byte gTasks +_080C8EB0: + bl sub_80C85D8 + lsls r0, 24 + cmp r0, 0 + beq _080C8F06 + adds r1, r4, 0 + ldr r4, _080C8EE8 @ =gBlockRecvBuffer + adds r0, r7, 0 + adds r0, 0x12 + adds r2, r6, r0 + movs r6, 0x80 + lsls r6, 1 + movs r3, 0x3 +_080C8ECA: + ldrh r0, [r4] + strh r0, [r2] + adds r4, r6 + adds r2, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080C8ECA + adds r1, r5 + lsls r1, 3 + adds r1, r7 +_080C8EDE: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _080C8F06 + .align 2, 0 +_080C8EE8: .4byte gBlockRecvBuffer +_080C8EEC: + movs r0, 0 + strh r0, [r2, 0x8] + adds r0, r5, 0 + bl SwitchTaskToFollowupFunc + b _080C8F06 +_080C8EF8: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r7 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] +_080C8F06: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C8E1C +.endif thumb_func_start sub_80C8EBC sub_80C8EBC: @ 80C8EBC @@ -1193,7 +1699,7 @@ sub_80C8EBC: @ 80C8EBC movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0 - beq _080C8EE8 + beq _080C8EE8_B cmp r0, 0x1 beq _080C8F00 movs r0, 0 @@ -1203,7 +1709,7 @@ sub_80C8EBC: @ 80C8EBC b _080C8F22 .align 2, 0 _080C8EE4: .4byte gTasks -_080C8EE8: +_080C8EE8_B: bl sub_8007ECC lsls r0, 24 cmp r0, 0 diff --git a/asm/easy_chat.s b/asm/easy_chat.s deleted file mode 100644 index e08d71083..000000000 --- a/asm/easy_chat.s +++ /dev/null @@ -1,10732 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E60D8 -sub_80E60D8: @ 80E60D8 - push {r4-r7,lr} - movs r4, 0x3 - ldr r0, _080E60F4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r7, r0, 0 - cmp r1, 0xD - bls _080E60E8 - b _080E6284 -_080E60E8: - lsls r0, r1, 2 - ldr r1, _080E60F8 @ =_080E60FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E60F4: .4byte gSpecialVar_0x8004 -_080E60F8: .4byte _080E60FC - .align 2, 0 -_080E60FC: - .4byte _080E6134 - .4byte _080E613C - .4byte _080E6144 - .4byte _080E614C - .4byte _080E6154 - .4byte _080E619C - .4byte _080E616C - .4byte _080E61BC - .4byte _080E61E0 - .4byte _080E61FC - .4byte _080E6200 - .4byte _080E6214 - .4byte _080E623C - .4byte _080E6260 -_080E6134: - ldr r1, _080E6138 @ =gSaveBlock1 + 0x2B1C - b _080E624C - .align 2, 0 -_080E6138: .4byte gSaveBlock1 + 0x2B1C -_080E613C: - ldr r1, _080E6140 @ =gSaveBlock1 + 0x2B28 - b _080E6276 - .align 2, 0 -_080E6140: .4byte gSaveBlock1 + 0x2B28 -_080E6144: - ldr r1, _080E6148 @ =gSaveBlock1 + 0x2B34 - b _080E624C - .align 2, 0 -_080E6148: .4byte gSaveBlock1 + 0x2B34 -_080E614C: - ldr r1, _080E6150 @ =gSaveBlock1 + 0x2B40 - b _080E6276 - .align 2, 0 -_080E6150: .4byte gSaveBlock1 + 0x2B40 -_080E6154: - ldr r0, _080E6164 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E6168 @ =gSaveBlock1 + 0x2B4C - adds r1, r0, r1 - b _080E624C - .align 2, 0 -_080E6164: .4byte gSpecialVar_0x8005 -_080E6168: .4byte gSaveBlock1 + 0x2B4C -_080E616C: - ldr r0, _080E6194 @ =gSaveBlock1 + 0x2D94 - movs r2, 0 - ldr r1, _080E6198 @ =sub_80546B8 - mov r12, r1 - adds r3, r0, 0 - adds r3, 0xE - adds r5, r0, 0x2 - adds r6, r3, 0 -_080E617C: - lsls r0, r2, 1 - adds r1, r3, r0 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080E617C - adds r1, r6, 0 - b _080E627A - .align 2, 0 -_080E6194: .4byte gSaveBlock1 + 0x2D94 -_080E6198: .4byte sub_80546B8 -_080E619C: - ldr r0, _080E61B0 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E61B4 @ =gSaveBlock1 + 0x273C - adds r1, r0, r1 - ldr r0, _080E61B8 @ =gSpecialVar_0x8006 - ldrb r4, [r0] - b _080E6276 - .align 2, 0 -_080E61B0: .4byte gSpecialVar_0x8005 -_080E61B4: .4byte gSaveBlock1 + 0x273C -_080E61B8: .4byte gSpecialVar_0x8006 -_080E61BC: - ldr r0, _080E61D4 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080E61D8 @ =gSaveBlock1 + 0x2754 - adds r1, r0 - ldr r0, _080E61DC @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r1, r0 - b _080E624A - .align 2, 0 -_080E61D4: .4byte gSpecialVar_0x8005 -_080E61D8: .4byte gSaveBlock1 + 0x2754 -_080E61DC: .4byte gSpecialVar_0x8006 -_080E61E0: - ldr r0, _080E61F4 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E61F8 @ =gSaveBlock1 + 0x273A - adds r1, r0, r1 - movs r4, 0 - b _080E6276 - .align 2, 0 -_080E61F4: .4byte gSpecialVar_0x8005 -_080E61F8: .4byte gSaveBlock1 + 0x273A -_080E61FC: - movs r1, 0 - b _080E624C -_080E6200: - ldr r1, _080E620C @ =gSaveBlock1 + 0x2B16 - ldr r2, _080E6210 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - b _080E624A - .align 2, 0 -_080E620C: .4byte gSaveBlock1 + 0x2B16 -_080E6210: .4byte 0x0000ffff -_080E6214: - ldr r0, _080E6230 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080E6234 @ =gSaveBlock1 + 0x273C - adds r1, r0 - ldr r0, _080E6238 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r1, r0 - movs r4, 0 - b _080E6276 - .align 2, 0 -_080E6230: .4byte gSpecialVar_0x8005 -_080E6234: .4byte gSaveBlock1 + 0x273C -_080E6238: .4byte gSpecialVar_0x8006 -_080E623C: - ldr r0, _080E6254 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E6258 @ =gSaveBlock1 + 0x2750 - adds r1, r0, r1 -_080E624A: - movs r4, 0x1 -_080E624C: - ldr r0, _080E625C @ =sub_80546B8 - mov r12, r0 - b _080E627A - .align 2, 0 -_080E6254: .4byte gSpecialVar_0x8005 -_080E6258: .4byte gSaveBlock1 + 0x2750 -_080E625C: .4byte sub_80546B8 -_080E6260: - ldr r1, _080E628C @ =gSharedMem + 0x1000 - ldr r0, _080E6290 @ =0x00009c7c - adds r2, r1, r0 - ldr r0, _080E6294 @ =0x0000ffff - strh r0, [r2] - ldr r0, _080E6298 @ =0x00009c7e - adds r1, r0 - movs r0, 0x1 - negs r0, r0 - strh r0, [r1] - adds r1, r2, 0 -_080E6276: - ldr r2, _080E629C @ =sub_80546B8 - mov r12, r2 -_080E627A: - ldrb r0, [r7] - mov r2, r12 - adds r3, r4, 0 - bl sub_80E62A0 -_080E6284: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E628C: .4byte gSharedMem + 0x1000 -_080E6290: .4byte 0x00009c7c -_080E6294: .4byte 0x0000ffff -_080E6298: .4byte 0x00009c7e -_080E629C: .4byte sub_80546B8 - thumb_func_end sub_80E60D8 - - thumb_func_start sub_80E62A0 -sub_80E62A0: @ 80E62A0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080E62DC @ =gSharedMem + 0x1000 - str r2, [r4] - str r1, [r4, 0x4] - strb r0, [r4, 0x8] - strb r3, [r4, 0xB] - cmp r0, 0x9 - bne _080E62D0 - ldr r0, _080E62E0 @ =0x00009c7c - adds r2, r4, r0 - str r2, [r4, 0x4] - ldr r0, _080E62E4 @ =gSaveBlock1 - ldr r3, _080E62E8 @ =0x00002dd8 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2] - ldr r1, _080E62EC @ =0x00002dda - adds r0, r1 - ldrh r1, [r0] - ldr r2, _080E62F0 @ =0x00009c7e - adds r0, r4, r2 - strh r1, [r0] -_080E62D0: - ldr r0, _080E62F4 @ =sub_80E62F8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E62DC: .4byte gSharedMem + 0x1000 -_080E62E0: .4byte 0x00009c7c -_080E62E4: .4byte gSaveBlock1 -_080E62E8: .4byte 0x00002dd8 -_080E62EC: .4byte 0x00002dda -_080E62F0: .4byte 0x00009c7e -_080E62F4: .4byte sub_80E62F8 - thumb_func_end sub_80E62A0 - - thumb_func_start sub_80E62F8 -sub_80E62F8: @ 80E62F8 - push {lr} - sub sp, 0x4 - ldr r0, _080E6314 @ =gMain - ldr r1, _080E6318 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080E6344 - lsls r0, 2 - ldr r1, _080E631C @ =_080E6320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6314: .4byte gMain -_080E6318: .4byte 0x0000043c -_080E631C: .4byte _080E6320 - .align 2, 0 -_080E6320: - .4byte _080E6344 - .4byte _080E6380 - .4byte _080E638C - .4byte _080E63A8 - .4byte _080E63AE - .4byte _080E63B4 - .4byte _080E63BE - .4byte _080E63D8 - .4byte _080E63EA -_080E6344: - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - movs r0, 0 - bl SetVBlankCallback - bl ResetPaletteFade - bl ResetSpriteData - bl dp12_8087EA4 - bl remove_some_task - bl sub_80EAD08 - ldr r2, _080E637C @ =gUnknown_083DB698 - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80895F8 - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - b _080E6402 - .align 2, 0 -_080E637C: .4byte gUnknown_083DB698 -_080E6380: - ldr r0, _080E6388 @ =gWindowConfig_81E6DA8 - bl SetUpWindowConfig - b _080E6402 - .align 2, 0 -_080E6388: .4byte gWindowConfig_81E6DA8 -_080E638C: - ldr r0, _080E63A0 @ =gWindowConfig_81E6D54 - bl InitMenuWindow - ldr r0, _080E63A4 @ =gWindowConfig_81E6DA8 - bl InitMenuWindow - bl MenuZeroFillScreen - b _080E6402 - .align 2, 0 -_080E63A0: .4byte gWindowConfig_81E6D54 -_080E63A4: .4byte gWindowConfig_81E6DA8 -_080E63A8: - bl sub_80E6424 - b _080E6402 -_080E63AE: - bl sub_80E8DD8 - b _080E6402 -_080E63B4: - bl sub_80E8218 - bl sub_80E8CEC - b _080E6402 -_080E63BE: - bl sub_80E69F8 - ldr r0, _080E63D0 @ =sub_80E6AA8 - bl sub_80E682C - ldr r0, _080E63D4 @ =sub_80E6A6C - bl SetVBlankCallback - b _080E6402 - .align 2, 0 -_080E63D0: .4byte sub_80E6AA8 -_080E63D4: .4byte sub_80E6A6C -_080E63D8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080E6402 -_080E63EA: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080E6414 @ =sub_80E6A88 - bl SetMainCallback2 - ldr r0, _080E6418 @ =0x00000805 - bl FlagSet -_080E6402: - ldr r1, _080E641C @ =gMain - ldr r0, _080E6420 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080E6414: .4byte sub_80E6A88 -_080E6418: .4byte 0x00000805 -_080E641C: .4byte gMain -_080E6420: .4byte 0x0000043c - thumb_func_end sub_80E62F8 - - thumb_func_start sub_80E6424 -sub_80E6424: @ 80E6424 - push {lr} - ldr r2, _080E6444 @ =gSharedMem + 0x1000 - ldr r0, _080E6448 @ =gUnknown_083DB6A4 - ldrb r1, [r2, 0x8] - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2, 0x9] - ldrb r0, [r2, 0x9] - adds r3, r2, 0 - cmp r0, 0x5 - bhi _080E6512 - lsls r0, 2 - ldr r1, _080E644C @ =_080E6450 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6444: .4byte gSharedMem + 0x1000 -_080E6448: .4byte gUnknown_083DB6A4 -_080E644C: .4byte _080E6450 - .align 2, 0 -_080E6450: - .4byte _080E64A0 - .4byte _080E64B8 - .4byte _080E64DA - .4byte _080E64F6 - .4byte _080E6468 - .4byte _080E6480 -_080E6468: - movs r2, 0x4 - strb r2, [r3, 0xA] - adds r0, r3, 0 - adds r0, 0x83 - movs r1, 0x2 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x5 - b _080E64D0 -_080E6480: - movs r1, 0x4 - strb r1, [r3, 0xA] - adds r2, r3, 0 - adds r2, 0x83 - movs r0, 0x1 - strb r0, [r2] - adds r0, r3, 0 - adds r0, 0x84 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x10 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - b _080E6510 -_080E64A0: - movs r0, 0x6 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - movs r0, 0x2 - strb r0, [r1] - adds r0, r3, 0 - adds r0, 0x84 - movs r2, 0x3 - strb r2, [r0] - adds r1, 0x5 - b _080E64CE -_080E64B8: - movs r2, 0 - movs r0, 0x9 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - movs r0, 0x2 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - strb r0, [r1] - adds r1, 0x4 -_080E64CE: - movs r0, 0x4 -_080E64D0: - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x8A - strh r2, [r0] - b _080E6512 -_080E64DA: - movs r1, 0x1 - strb r1, [r3, 0xA] - adds r0, r3, 0 - adds r0, 0x83 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r3, 0 - adds r1, 0x88 - movs r0, 0x10 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x4 - b _080E6510 -_080E64F6: - movs r0, 0x2 - strb r0, [r3, 0xA] - adds r1, r3, 0 - adds r1, 0x83 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x1 - strb r0, [r1] - adds r1, 0x4 - movs r0, 0x5 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3 -_080E6510: - strh r0, [r1] -_080E6512: - adds r1, r3, 0 - adds r1, 0x86 - movs r0, 0 - strb r0, [r1] - subs r1, 0x1 - strb r0, [r1] - adds r1, 0x2 - strb r0, [r1] - subs r1, 0x61 - strb r0, [r1] - movs r2, 0xDD - lsls r2, 1 - adds r1, r3, r2 - strh r0, [r1] - movs r0, 0xDF - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x2 - strb r0, [r1] - bl sub_80E6554 - bl sub_80EAECC - bl sub_80EB040 - bl sub_80E7E50 - bl sub_80E6630 - bl sub_80E6690 - pop {r0} - bx r0 - thumb_func_end sub_80E6424 - - thumb_func_start sub_80E6554 -sub_80E6554: @ 80E6554 - push {r4-r7,lr} - sub sp, 0x4 - movs r4, 0 - movs r7, 0 - ldr r0, _080E6564 @ =gSharedMem + 0x1000 - mov r12, r0 - b _080E656E - .align 2, 0 -_080E6564: .4byte gSharedMem + 0x1000 -_080E6568: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_080E656E: - movs r5, 0 - lsls r3, r7, 1 - mov r6, r12 - adds r6, 0x2A - adds r2, r3, r6 - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - strb r1, [r2] - cmp r4, 0x11 - beq _080E65A6 -_080E6586: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bhi _080E65A2 - adds r2, r5, r3 - adds r2, r6 - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - strb r1, [r2] - cmp r4, 0x11 - bne _080E6586 -_080E65A2: - cmp r4, 0x11 - bne _080E6568 -_080E65A6: - movs r0, 0x11 - mov r1, r12 - strh r0, [r1, 0x28] - cmp r4, 0x15 - bhi _080E6612 - mov r6, r12 - adds r2, r6, 0 - adds r2, 0x78 -_080E65B6: - lsls r0, r4, 24 - lsrs r0, 24 - str r2, [sp] - bl sub_80EAD7C - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [sp] - cmp r1, 0 - beq _080E65FC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E65DC - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r5, 0 -_080E65DC: - lsls r0, r7, 1 - adds r0, r5, r0 - adds r1, r6, 0 - adds r1, 0x2A - adds r0, r1 - strb r4, [r0] - adds r0, r4, 0 - subs r0, 0x11 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - ldrh r0, [r6, 0x28] - adds r0, 0x1 - strh r0, [r6, 0x28] - mov r12, r6 - b _080E6608 -_080E65FC: - adds r0, r4, 0 - subs r0, 0x11 - adds r0, r2 - strb r1, [r0] - ldr r0, _080E662C @ =gSharedMem + 0x1000 - mov r12, r0 -_080E6608: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x15 - bls _080E65B6 -_080E6612: - mov r1, r12 - ldrh r0, [r1, 0x28] - adds r0, 0x1 - asrs r0, 1 - movs r1, 0xDB - lsls r1, 1 - add r1, r12 - strb r0, [r1] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E662C: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E6554 - - thumb_func_start sub_80E6630 -sub_80E6630: @ 80E6630 - push {r4-r7,lr} - movs r1, 0 - ldr r0, _080E6664 @ =gUnknown_083DB6B2 - mov r12, r0 -_080E6638: - lsls r0, r1, 4 - mov r2, r12 - adds r5, r0, r2 - movs r3, 0 - ldrb r0, [r5] - adds r7, r1, 0x1 - cmp r0, 0xFF - beq _080E6680 - lsls r0, r1, 3 - subs r0, r1 - lsls r4, r0, 1 - ldr r6, _080E6668 @ =gSharedMem + 0x1040 -_080E6650: - adds r0, r5, r3 - ldrb r1, [r0] - adds r2, r1, 0 - cmp r2, 0 - beq _080E666C - adds r0, r3, r4 - adds r0, r6 - adds r1, 0x46 - strb r1, [r0] - b _080E6672 - .align 2, 0 -_080E6664: .4byte gUnknown_083DB6B2 -_080E6668: .4byte gSharedMem + 0x1040 -_080E666C: - adds r0, r3, r4 - adds r0, r6 - strb r2, [r0] -_080E6672: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E6650 -_080E6680: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080E6638 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E6630 - - thumb_func_start sub_80E6690 -sub_80E6690: @ 80E6690 - push {r4-r6,lr} - sub sp, 0x10 - mov r0, sp - ldr r1, _080E66E0 @ =gUnknown_083DB7DC - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldr r1, [r1] - str r1, [r0] - movs r5, 0 - ldr r6, _080E66E4 @ =gUnknown_083DB7C0 -_080E66A4: - ldr r0, _080E66E8 @ =gSharedMem + 0x1000 - ldrb r0, [r0, 0x8] - lsls r0, 1 - adds r0, r5, r0 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E66EC @ =gUnknown_083DB6F4 - adds r4, r0, r1 - lsls r0, r5, 3 - add r0, sp - ldr r0, [r0] - ldr r1, [r4] - bl StringCopy - adds r3, r0, 0 - ldrb r0, [r4, 0x8] - cmp r0, 0 - beq _080E66F0 - lsls r0, r5, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - ldr r1, [r4, 0x4] - bl StringCopy - b _080E670A - .align 2, 0 -_080E66E0: .4byte gUnknown_083DB7DC -_080E66E4: .4byte gUnknown_083DB7C0 -_080E66E8: .4byte gSharedMem + 0x1000 -_080E66EC: .4byte gUnknown_083DB6F4 -_080E66F0: - strb r0, [r3] - adds r3, 0x1 - ldr r1, [r4, 0x4] - adds r0, r3, 0 - bl StringCopy - lsls r0, r5, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] -_080E670A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E66A4 - movs r5, 0 - ldr r3, _080E6758 @ =gSharedMem + 0x1000 - ldr r0, _080E675C @ =0x00009da4 - adds r2, r3, r0 - movs r1, 0 -_080E671E: - adds r0, r5, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x23 - bls _080E671E - ldr r1, _080E675C @ =0x00009da4 - adds r0, r3, r1 - adds r0, r5, r0 - movs r4, 0x1 - negs r4, r4 - adds r2, r4, 0 - movs r1, 0xFF - strb r1, [r0] - ldr r0, _080E6760 @ =0x00009f6e - adds r3, r0 - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x11 - strb r0, [r3, 0x1] - movs r0, 0xE0 - strb r0, [r3, 0x2] - strb r2, [r3, 0x3] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E6758: .4byte gSharedMem + 0x1000 -_080E675C: .4byte 0x00009da4 -_080E6760: .4byte 0x00009f6e - thumb_func_end sub_80E6690 - - thumb_func_start InitEasyChatPhrases -InitEasyChatPhrases: @ 80E6764 - push {r4-r6,lr} - movs r3, 0 - ldr r4, _080E680C @ =gSaveBlock1 + 0x2B1C - ldr r2, _080E6810 @ =gUnknown_083DB7EC -_080E676C: - lsls r0, r3, 1 - adds r1, r0, r4 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080E676C - movs r3, 0 - ldr r4, _080E6814 @ =gSaveBlock1 + 0x2B28 - ldr r2, _080E6818 @ =gUnknown_083DB7F4 -_080E6786: - lsls r0, r3, 1 - adds r1, r0, r4 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080E6786 - movs r3, 0 - ldr r5, _080E681C @ =gSaveBlock1 + 0x2B34 - ldr r0, _080E6820 @ =0x0000ffff - adds r4, r0, 0 - adds r6, r5, 0 - adds r6, 0xC -_080E67A6: - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r2] - orrs r0, r4 - strh r0, [r2] - adds r1, r6 - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _080E67A6 - movs r3, 0 - ldr r6, _080E6824 @ =gSaveBlock1 + 0x2B4C - ldr r0, _080E6820 @ =0x0000ffff - adds r5, r0, 0 -_080E67CA: - movs r2, 0 - lsls r0, r3, 3 - adds r0, r3 - lsls r4, r0, 2 -_080E67D2: - lsls r0, r2, 1 - adds r0, r4 - adds r0, r6 - ldrh r1, [r0] - orrs r1, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x8 - bls _080E67D2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0xF - bls _080E67CA - movs r3, 0 - ldr r2, _080E6828 @ =gSaveBlock1 + 0x2D8C - movs r1, 0 -_080E67F8: - adds r0, r3, r2 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3F - bls _080E67F8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E680C: .4byte gSaveBlock1 + 0x2B1C -_080E6810: .4byte gUnknown_083DB7EC -_080E6814: .4byte gSaveBlock1 + 0x2B28 -_080E6818: .4byte gUnknown_083DB7F4 -_080E681C: .4byte gSaveBlock1 + 0x2B34 -_080E6820: .4byte 0x0000ffff -_080E6824: .4byte gSaveBlock1 + 0x2B4C -_080E6828: .4byte gSaveBlock1 + 0x2D8C - thumb_func_end InitEasyChatPhrases - - thumb_func_start sub_80E682C -sub_80E682C: @ 80E682C - ldr r1, _080E6838 @ =gSharedMem + 0x1000 - str r0, [r1, 0x20] - movs r0, 0 - strh r0, [r1, 0x24] - bx lr - .align 2, 0 -_080E6838: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E682C - - thumb_func_start sub_80E683C -sub_80E683C: @ 80E683C - push {r4,r5,lr} - ldr r1, _080E6890 @ =gSharedMem + 0x1000 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0 - bne _080E6898 - movs r1, 0 - movs r0, 0xDB - lsls r0, 1 - adds r3, r2, r0 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r1, r0 - bge _080E6876 - movs r0, 0xD5 - lsls r0, 1 - adds r5, r2, r0 - movs r4, 0x2 -_080E6864: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r1, r0 - blt _080E6864 -_080E6876: - adds r0, r2, r1 - ldr r1, _080E6894 @ =0x000001a9 - adds r3, r0, r1 - ldrh r0, [r2, 0x28] - movs r1, 0x1 - ands r0, r1 - strb r0, [r3] - cmp r0, 0 - bne _080E68B8 - movs r0, 0x2 - strb r0, [r3] - b _080E68B8 - .align 2, 0 -_080E6890: .4byte gSharedMem + 0x1000 -_080E6894: .4byte 0x000001a9 -_080E6898: - movs r3, 0xD5 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0x7 - strb r0, [r1] - ldr r1, _080E68E0 @ =0x000001ab - adds r3, r2, r1 - movs r1, 0x6 - strb r1, [r3] - movs r3, 0xD6 - lsls r3, 1 - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0x1 - adds r1, r2, r3 - strb r0, [r1] -_080E68B8: - movs r0, 0xD4 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - strb r0, [r1] - ldr r3, _080E68E4 @ =0x000001a9 - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0xC - adds r1, r2, r3 - strb r0, [r1] - adds r3, 0x2 - adds r1, r2, r3 - strb r0, [r1] - bl sub_80E9A4C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E68E0: .4byte 0x000001ab -_080E68E4: .4byte 0x000001a9 - thumb_func_end sub_80E683C - - thumb_func_start sub_80E68E8 -sub_80E68E8: @ 80E68E8 - push {r4-r6,lr} - bl sub_80EB0B0 - ldr r3, _080E694C @ =gSharedMem + 0x1000 - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E695C - movs r1, 0xDC - lsls r1, 1 - adds r0, r3, r1 - ldrb r6, [r0] - lsls r0, r6, 1 - ldr r2, _080E6950 @ =0x00004178 - adds r1, r3, r2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - asrs r0, 1 - ldr r1, _080E6954 @ =0x00009a28 - adds r2, r3, r1 - strb r0, [r2] - movs r1, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r5, r3, 0 - cmp r1, r0 - bge _080E693A - ldr r3, _080E6958 @ =0x000099a6 - adds r4, r5, r3 - movs r3, 0x2 -_080E6928: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - blt _080E6928 -_080E693A: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, _080E6958 @ =0x000099a6 - adds r0, r5, r2 - adds r2, r1, r0 - lsls r0, r6, 1 - ldr r3, _080E6950 @ =0x00004178 - b _080E69AC - .align 2, 0 -_080E694C: .4byte gSharedMem + 0x1000 -_080E6950: .4byte 0x00004178 -_080E6954: .4byte 0x00009a28 -_080E6958: .4byte 0x000099a6 -_080E695C: - movs r1, 0xDC - lsls r1, 1 - adds r0, r3, r1 - ldrb r6, [r0] - lsls r0, r6, 1 - ldr r2, _080E69E0 @ =0x00004142 - adds r1, r3, r2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x1 - asrs r0, 1 - ldr r1, _080E69E4 @ =0x00009a28 - adds r2, r3, r1 - strb r0, [r2] - movs r1, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r5, r3, 0 - cmp r1, r0 - bge _080E699C - ldr r3, _080E69E8 @ =0x000099a6 - adds r4, r5, r3 - movs r3, 0x2 -_080E698A: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - blt _080E698A -_080E699C: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, _080E69E8 @ =0x000099a6 - adds r0, r5, r2 - adds r2, r1, r0 - lsls r0, r6, 1 - ldr r3, _080E69E0 @ =0x00004142 -_080E69AC: - adds r1, r5, r3 - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x1 - ands r0, r1 - strb r0, [r2] - cmp r0, 0 - bne _080E69C0 - movs r0, 0x2 - strb r0, [r2] -_080E69C0: - ldr r1, _080E69EC @ =0x000099a4 - adds r0, r5, r1 - movs r1, 0 - strb r1, [r0] - ldr r2, _080E69F0 @ =0x000099a5 - adds r0, r5, r2 - strb r1, [r0] - ldr r3, _080E69F4 @ =0x00009a29 - adds r0, r5, r3 - strb r1, [r0] - bl sub_80E9A4C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E69E0: .4byte 0x00004142 -_080E69E4: .4byte 0x00009a28 -_080E69E8: .4byte 0x000099a6 -_080E69EC: .4byte 0x000099a4 -_080E69F0: .4byte 0x000099a5 -_080E69F4: .4byte 0x00009a29 - thumb_func_end sub_80E68E8 - - thumb_func_start sub_80E69F8 -sub_80E69F8: @ 80E69F8 - push {r4,lr} - ldr r0, _080E6A10 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0x8] - adds r4, r0, 0 - cmp r1, 0xD - bhi _080E6A50 - lsls r0, r1, 2 - ldr r1, _080E6A14 @ =_080E6A18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6A10: .4byte gSharedMem + 0x1000 -_080E6A14: .4byte _080E6A18 - .align 2, 0 -_080E6A18: - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A50 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A58 - .4byte _080E6A50 -_080E6A50: - ldrb r0, [r4, 0x8] - bl sub_80E9368 - b _080E6A66 -_080E6A58: - ldrb r0, [r4, 0x8] - bl sub_80E9368 - ldrb r0, [r4, 0xB] - ldrb r1, [r4, 0x9] - bl sub_80E8BF4 -_080E6A66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E69F8 - - thumb_func_start sub_80E6A6C -sub_80E6A6C: @ 80E6A6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80EAC5C - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - thumb_func_end sub_80E6A6C - - thumb_func_start sub_80E6A88 -sub_80E6A88: @ 80E6A88 - push {lr} - ldr r0, _080E6AA4 @ =gSharedMem + 0x1000 - ldr r0, [r0, 0x20] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl sub_80EAD08 - pop {r0} - bx r0 - .align 2, 0 -_080E6AA4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E6A88 - - thumb_func_start sub_80E6AA8 -sub_80E6AA8: @ 80E6AA8 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080E6ABA - ldr r0, _080E6AC0 @ =sub_80E6AC4 - bl sub_80E682C -_080E6ABA: - pop {r0} - bx r0 - .align 2, 0 -_080E6AC0: .4byte sub_80E6AC4 - thumb_func_end sub_80E6AA8 - - thumb_func_start sub_80E6AC4 -sub_80E6AC4: @ 80E6AC4 - push {lr} - bl sub_80E88F0 - movs r0, 0 - bl sub_80E8398 - movs r0, 0 - bl sub_80E91D4 - ldr r0, _080E6AE0 @ =sub_80E6AE4 - bl sub_80E682C - pop {r0} - bx r0 - .align 2, 0 -_080E6AE0: .4byte sub_80E6AE4 - thumb_func_end sub_80E6AC4 - - thumb_func_start sub_80E6AE4 -sub_80E6AE4: @ 80E6AE4 - push {r4,r5,lr} - bl sub_80E75D8 - ldr r4, _080E6B44 @ =gSharedMem + 0x1000 - adds r1, r4, 0 - adds r1, 0x87 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - beq _080E6AFE - movs r0, 0x5 - bl PlaySE -_080E6AFE: - ldr r2, _080E6B48 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _080E6BA4 - movs r0, 0x5 - bl PlaySE - adds r1, r4, 0 - adds r1, 0x86 - adds r0, r4, 0 - adds r0, 0x84 - ldrb r2, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E6B78 - adds r0, r4, 0 - adds r0, 0x85 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080E6B60 - cmp r0, 0x1 - bgt _080E6B4C - cmp r0, 0 - beq _080E6B52 - b _080E6BA4 - .align 2, 0 -_080E6B44: .4byte gSharedMem + 0x1000 -_080E6B48: .4byte gMain -_080E6B4C: - cmp r0, 0x2 - beq _080E6B6C - b _080E6BA4 -_080E6B52: - ldr r0, _080E6B5C @ =sub_80E6BC0 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B5C: .4byte sub_80E6BC0 -_080E6B60: - ldr r0, _080E6B68 @ =sub_80E6C84 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B68: .4byte sub_80E6C84 -_080E6B6C: - ldr r0, _080E6B74 @ =sub_80E6D7C - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6B74: .4byte sub_80E6D7C -_080E6B78: - adds r0, r4, 0 - adds r0, 0x83 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x85 - adds r3, r0, 0 - muls r3, r2 - adds r0, r3, 0 - ldrb r1, [r1] - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x27 - strb r0, [r1] - bl sub_80E7574 - ldr r0, _080E6BA0 @ =sub_80E6F68 - bl sub_80E682C - b _080E6BB4 - .align 2, 0 -_080E6BA0: .4byte sub_80E6F68 -_080E6BA4: - ldrh r1, [r5, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E6BB4 - ldr r0, _080E6BBC @ =sub_80E6C84 - bl sub_80E682C -_080E6BB4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E6BBC: .4byte sub_80E6C84 - thumb_func_end sub_80E6AE4 - - thumb_func_start sub_80E6BC0 -sub_80E6BC0: @ 80E6BC0 - push {r4,lr} - ldr r4, _080E6BD4 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0x1 - beq _080E6C12 - cmp r0, 0x1 - bgt _080E6BD8 - cmp r0, 0 - beq _080E6BE2 - b _080E6C76 - .align 2, 0 -_080E6BD4: .4byte gSharedMem + 0x1000 -_080E6BD8: - cmp r0, 0x2 - beq _080E6C54 - cmp r0, 0x64 - beq _080E6C64 - b _080E6C76 -_080E6BE2: - movs r0, 0x2 - bl sub_80E8398 - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - bne _080E6BFA - movs r0, 0x6 - bl sub_80E91D4 - movs r0, 0x64 - strh r0, [r4, 0x24] - b _080E6C76 -_080E6BFA: - movs r0, 0x2 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor - b _080E6C3E -_080E6C12: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6C32 - cmp r1, 0 - bgt _080E6C2C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E6C46 - b _080E6C76 -_080E6C2C: - cmp r1, 0x1 - beq _080E6C46 - b _080E6C76 -_080E6C32: - bl sub_80E7D6C - bl sub_80E98C4 - bl sub_80E95A4 -_080E6C3E: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6C76 -_080E6C46: - ldr r1, _080E6C50 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E6C76 - .align 2, 0 -_080E6C50: .4byte gSharedMem + 0x1000 -_080E6C54: - bl sub_80E81FC - ldr r0, _080E6C60 @ =sub_80E6AC4 - bl sub_80E682C - b _080E6C76 - .align 2, 0 -_080E6C60: .4byte sub_80E6AC4 -_080E6C64: - ldr r0, _080E6C7C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080E6C76 - ldr r0, _080E6C80 @ =sub_80E6AC4 - bl sub_80E682C -_080E6C76: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6C7C: .4byte gMain -_080E6C80: .4byte sub_80E6AC4 - thumb_func_end sub_80E6BC0 - - thumb_func_start sub_80E6C84 -sub_80E6C84: @ 80E6C84 - push {r4,lr} - ldr r4, _080E6C98 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0x1 - beq _080E6CF4 - cmp r0, 0x1 - bgt _080E6C9C - cmp r0, 0 - beq _080E6CA6 - b _080E6D72 - .align 2, 0 -_080E6C98: .4byte gSharedMem + 0x1000 -_080E6C9C: - cmp r0, 0x2 - beq _080E6D24 - cmp r0, 0xFF - beq _080E6D64 - b _080E6D72 -_080E6CA6: - movs r0, 0x2 - bl sub_80E8398 - movs r0, 0x3 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor - ldrb r0, [r4, 0x8] - cmp r0, 0x9 - beq _080E6CE8 - cmp r0, 0x4 - beq _080E6CE8 - cmp r0, 0x7 - beq _080E6CE8 - cmp r0, 0x8 - beq _080E6CE8 - cmp r0, 0xA - beq _080E6CE8 - cmp r0, 0xB - beq _080E6CE8 - cmp r0, 0xC - beq _080E6CE8 - cmp r0, 0x5 - beq _080E6CE8 - cmp r0, 0xD - bne _080E6D1C -_080E6CE8: - ldr r1, _080E6CF0 @ =gSharedMem + 0x1000 - movs r0, 0x2 - strh r0, [r1, 0x24] - b _080E6D72 - .align 2, 0 -_080E6CF0: .4byte gSharedMem + 0x1000 -_080E6CF4: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6D06 - cmp r1, 0 - ble _080E6D34 - b _080E6D3E -_080E6D06: - movs r0, 0x4 - bl sub_80E91D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0x1 - bl MoveMenuCursor -_080E6D1C: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6D72 -_080E6D24: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E6D44 - cmp r1, 0 - bgt _080E6D3E -_080E6D34: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E6D58 - b _080E6D72 -_080E6D3E: - cmp r1, 0x1 - beq _080E6D58 - b _080E6D72 -_080E6D44: - ldr r0, _080E6D50 @ =gSpecialVar_Result - strh r1, [r0] - ldr r0, _080E6D54 @ =sub_80E752C - bl sub_80E682C - b _080E6D72 - .align 2, 0 -_080E6D50: .4byte gSpecialVar_Result -_080E6D54: .4byte sub_80E752C -_080E6D58: - ldr r1, _080E6D60 @ =gSharedMem + 0x1000 - movs r0, 0xFF - strh r0, [r1, 0x24] - b _080E6D72 - .align 2, 0 -_080E6D60: .4byte gSharedMem + 0x1000 -_080E6D64: - bl HandleDestroyMenuCursors - bl sub_80E81FC - ldr r0, _080E6D78 @ =sub_80E6AC4 - bl sub_80E682C -_080E6D72: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6D78: .4byte sub_80E6AC4 - thumb_func_end sub_80E6C84 - - thumb_func_start sub_80E6D7C -sub_80E6D7C: @ 80E6D7C - push {r4-r7,lr} - ldr r5, _080E6D98 @ =gSharedMem + 0x1000 - ldrh r0, [r5, 0x24] - cmp r0, 0xA - bne _080E6D88 - b _080E6F06 -_080E6D88: - cmp r0, 0xA - bgt _080E6D9C - cmp r0, 0 - beq _080E6DB6 - cmp r0, 0x1 - beq _080E6E3C - b _080E6F5E - .align 2, 0 -_080E6D98: .4byte gSharedMem + 0x1000 -_080E6D9C: - cmp r0, 0x65 - bne _080E6DA2 - b _080E6F30 -_080E6DA2: - cmp r0, 0x65 - bgt _080E6DAE - cmp r0, 0x64 - bne _080E6DAC - b _080E6F24 -_080E6DAC: - b _080E6F5E -_080E6DAE: - cmp r0, 0x66 - bne _080E6DB4 - b _080E6F50 -_080E6DB4: - b _080E6F5E -_080E6DB6: - movs r0, 0x2 - bl sub_80E8398 - bl sub_80E8054 - lsls r0, 24 - cmp r0, 0 - beq _080E6DCA - movs r0, 0x5 - b _080E6DEE -_080E6DCA: - ldrb r0, [r5, 0x8] - cmp r0, 0x9 - bne _080E6DFC - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - bne _080E6DDE - movs r0, 0x8 - b _080E6DEE -_080E6DDE: - ldrh r0, [r5, 0xC] - ldr r1, _080E6DF8 @ =0x0000ffff - cmp r0, r1 - beq _080E6DEC - ldrh r0, [r5, 0xE] - cmp r0, r1 - bne _080E6DFC -_080E6DEC: - movs r0, 0x9 -_080E6DEE: - bl sub_80E91D4 - movs r0, 0xA - strh r0, [r5, 0x24] - b _080E6F5E - .align 2, 0 -_080E6DF8: .4byte 0x0000ffff -_080E6DFC: - ldr r0, _080E6E18 @ =gSharedMem + 0x1000 - ldrb r0, [r0, 0x8] - cmp r0, 0x4 - bne _080E6E20 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - bne _080E6E20 - ldr r0, _080E6E1C @ =sub_80E6C84 - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6E18: .4byte gSharedMem + 0x1000 -_080E6E1C: .4byte sub_80E6C84 -_080E6E20: - movs r0, 0x1 - bl sub_80E91D4 - bl sub_80E9744 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0 - bl DisplayYesNoMenu - movs r0, 0 - bl MoveMenuCursor - b _080E6F3C -_080E6E3C: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r6, r0, 24 - cmp r6, 0 - beq _080E6E5C - cmp r6, 0 - bgt _080E6E56 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _080E6EDC - b _080E6F5E -_080E6E56: - cmp r6, 0x1 - beq _080E6EDC - b _080E6F5E -_080E6E5C: - ldr r7, _080E6EC8 @ =gSpecialVar_Result - bl sub_80E7FA8 - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - lsrs r0, 31 - strh r0, [r7] - bl sub_80E7D9C - ldrb r0, [r5, 0x8] - cmp r0, 0 - bne _080E6E82 - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - bl sub_80E8094 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6E82: - ldrb r0, [r5, 0x8] - cmp r0, 0x9 - bne _080E6E9C - bl sub_80E81C0 - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - ldr r1, _080E6ED0 @ =0x00009c7c - adds r0, r5, r1 - bl sub_80FA364 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6E9C: - ldrb r0, [r5, 0x8] - cmp r0, 0xD - bne _080E6EBE - ldrh r0, [r5, 0xC] - ldr r1, _080E6ED4 @ =0x0000ffff - cmp r0, r1 - beq _080E6EB0 - ldrh r0, [r5, 0xE] - cmp r0, r1 - bne _080E6EB2 -_080E6EB0: - strh r6, [r7] -_080E6EB2: - ldr r4, _080E6ECC @ =gSpecialVar_0x8004 - bl sub_80E810C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E6EBE: - ldr r0, _080E6ED8 @ =sub_80E752C - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6EC8: .4byte gSpecialVar_Result -_080E6ECC: .4byte gSpecialVar_0x8004 -_080E6ED0: .4byte 0x00009c7c -_080E6ED4: .4byte 0x0000ffff -_080E6ED8: .4byte sub_80E752C -_080E6EDC: - bl HandleDestroyMenuCursors - bl sub_80E81FC - ldr r4, _080E6EFC @ =gSharedMem + 0x1000 - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - bne _080E6F00 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - beq _080E6F00 - movs r0, 0x64 - strh r0, [r4, 0x24] - b _080E6F5E - .align 2, 0 -_080E6EFC: .4byte gSharedMem + 0x1000 -_080E6F00: - bl sub_80E95A4 - b _080E6F12 -_080E6F06: - ldr r0, _080E6F1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080E6F5E -_080E6F12: - ldr r0, _080E6F20 @ =sub_80E6AC4 - bl sub_80E682C - b _080E6F5E - .align 2, 0 -_080E6F1C: .4byte gMain -_080E6F20: .4byte sub_80E6AC4 -_080E6F24: - movs r0, 0x7 - bl sub_80E91D4 - ldrh r0, [r5, 0x24] - adds r0, 0x1 - strh r0, [r5, 0x24] -_080E6F30: - ldr r0, _080E6F48 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E6F5E -_080E6F3C: - ldr r1, _080E6F4C @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E6F5E - .align 2, 0 -_080E6F48: .4byte gMain -_080E6F4C: .4byte gSharedMem + 0x1000 -_080E6F50: - bl sub_80E7E50 - bl sub_80E95A4 - ldr r0, _080E6F64 @ =sub_80E6AC4 - bl sub_80E682C -_080E6F5E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E6F64: .4byte sub_80E6AC4 - thumb_func_end sub_80E6D7C - - thumb_func_start sub_80E6F68 -sub_80E6F68: @ 80E6F68 - push {r4,lr} - ldr r4, _080E6F78 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - cmp r0, 0 - beq _080E6F7C - cmp r0, 0x1 - beq _080E6F9C - b _080E6FBC - .align 2, 0 -_080E6F78: .4byte gSharedMem + 0x1000 -_080E6F7C: - movs r0, 0x1 - bl sub_80E8398 - movs r0, 0xA - bl sub_80E91D4 - bl sub_80E683C - bl sub_80E9974 - bl sub_80E9E98 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E6FBC -_080E6F9C: - bl sub_80E9EA8 - lsls r0, 24 - cmp r0, 0 - beq _080E6FBC - movs r0, 0x1 - bl sub_80E8D8C - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 - ldr r0, _080E6FC4 @ =sub_80E6FC8 - bl sub_80E682C -_080E6FBC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6FC4: .4byte sub_80E6FC8 - thumb_func_end sub_80E6F68 - - thumb_func_start sub_80E6FC8 -sub_80E6FC8: @ 80E6FC8 - push {r4,lr} - bl sub_80E77C8 - adds r1, r0, 0 - ldr r4, _080E7000 @ =gSharedMem + 0x1000 - adds r0, r4, 0 - adds r0, 0x96 - strb r1, [r0] - movs r2, 0xE0 - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E700C - movs r0, 0x5 - bl PlaySE - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, _080E7004 @ =sub_80E6FC8 - str r1, [r0] - ldr r0, _080E7008 @ =sub_80E7458 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E7000: .4byte gSharedMem + 0x1000 -_080E7004: .4byte sub_80E6FC8 -_080E7008: .4byte sub_80E7458 -_080E700C: - lsls r0, r1, 24 - cmp r0, 0 - beq _080E7018 - movs r0, 0x5 - bl PlaySE -_080E7018: - ldr r0, _080E7054 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E70E8 - ldr r2, _080E7058 @ =0x000001b7 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7090 - movs r0, 0x5 - bl PlaySE - movs r1, 0xD4 - lsls r1, 1 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - beq _080E7070 - cmp r0, 0x2 - bgt _080E705C - cmp r0, 0x1 - beq _080E7062 - b _080E710A - .align 2, 0 -_080E7054: .4byte gMain -_080E7058: .4byte 0x000001b7 -_080E705C: - cmp r0, 0x3 - beq _080E70F0 - b _080E710A -_080E7062: - ldr r0, _080E706C @ =sub_80E718C - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E706C: .4byte sub_80E718C -_080E7070: - ldrb r0, [r4, 0x8] - cmp r0, 0x6 - beq _080E710A - adds r0, r4, 0 - adds r0, 0x27 - ldrb r0, [r0] - ldr r1, _080E708C @ =0x0000ffff - bl sub_80E7F00 - bl sub_80E7574 - bl sub_80E95A4 - b _080E710A - .align 2, 0 -_080E708C: .4byte 0x0000ffff -_080E7090: - adds r0, r4, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - beq _080E70CA - ldr r2, _080E70DC @ =0x000001a9 - adds r0, r4, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r4, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - adds r2, r0 - adds r0, r4, 0 - adds r0, 0x40 - adds r2, r0 - ldrb r0, [r2] - lsls r0, 1 - ldr r2, _080E70E0 @ =0x00004142 - adds r1, r4, r2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080E710A -_080E70CA: - movs r0, 0x5 - bl PlaySE - bl sub_80E7AD4 - ldr r0, _080E70E4 @ =sub_80E7218 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E70DC: .4byte 0x000001a9 -_080E70E0: .4byte 0x00004142 -_080E70E4: .4byte sub_80E7218 -_080E70E8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E70FC -_080E70F0: - ldr r0, _080E70F8 @ =sub_80E7114 - bl sub_80E682C - b _080E710A - .align 2, 0 -_080E70F8: .4byte sub_80E7114 -_080E70FC: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E710A - ldr r0, _080E7110 @ =sub_80E718C - bl sub_80E682C -_080E710A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7110: .4byte sub_80E718C - thumb_func_end sub_80E6FC8 - - thumb_func_start sub_80E7114 -sub_80E7114: @ 80E7114 - push {lr} - ldr r0, _080E712C @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E7182 - lsls r0, r1, 2 - ldr r1, _080E7130 @ =_080E7134 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E712C: .4byte gSharedMem + 0x1000 -_080E7130: .4byte _080E7134 - .align 2, 0 -_080E7134: - .4byte _080E7148 - .4byte _080E715C - .4byte _080E715C - .4byte _080E7164 - .4byte _080E717C -_080E7148: - bl sub_80E8504 - bl sub_80E9E98 - bl sub_80E88F0 - movs r0, 0 - bl sub_80E8D8C - b _080E716E -_080E715C: - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - b _080E7182 -_080E7164: - bl sub_80E9F50 - lsls r0, 24 - cmp r0, 0 - beq _080E7182 -_080E716E: - ldr r1, _080E7178 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E7182 - .align 2, 0 -_080E7178: .4byte gSharedMem + 0x1000 -_080E717C: - ldr r0, _080E7188 @ =sub_80E6AC4 - bl sub_80E682C -_080E7182: - pop {r0} - bx r0 - .align 2, 0 -_080E7188: .4byte sub_80E6AC4 - thumb_func_end sub_80E7114 - - thumb_func_start sub_80E718C -sub_80E718C: @ 80E718C - push {r4,lr} - ldr r0, _080E71A4 @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r4, r0, 0 - cmp r1, 0x1 - beq _080E71C6 - cmp r1, 0x1 - bgt _080E71A8 - cmp r1, 0 - beq _080E71AE - b _080E71EC - .align 2, 0 -_080E71A4: .4byte gSharedMem + 0x1000 -_080E71A8: - cmp r1, 0x8 - beq _080E71F4 - b _080E71EC -_080E71AE: - bl sub_80E8504 - bl sub_80E9E98 - bl sub_80E88F0 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - bl sub_80E8D54 - b _080E720E -_080E71C6: - bl sub_80E9FD4 - lsls r0, 24 - cmp r0, 0 - beq _080E720E - movs r2, 0 - adds r1, r4, 0 - adds r1, 0x26 - ldrb r0, [r1] - cmp r0, 0 - bne _080E71DE - movs r2, 0x1 -_080E71DE: - strb r2, [r1] - bl sub_80E683C - bl sub_80E9974 - bl sub_80E9E98 -_080E71EC: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E720E -_080E71F4: - bl sub_80EA014 - lsls r0, 24 - cmp r0, 0 - beq _080E720E - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 - ldr r0, _080E7214 @ =sub_80E6FC8 - bl sub_80E682C -_080E720E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7214: .4byte sub_80E6FC8 - thumb_func_end sub_80E718C - - thumb_func_start sub_80E7218 -sub_80E7218: @ 80E7218 - push {r4,lr} - ldr r4, _080E7230 @ =gSharedMem + 0x1000 - ldrh r0, [r4, 0x24] - adds r1, r4, 0 - cmp r0, 0x9 - beq _080E7260 - cmp r0, 0x9 - bgt _080E7234 - cmp r0, 0x8 - beq _080E7244 - b _080E723C - .align 2, 0 -_080E7230: .4byte gSharedMem + 0x1000 -_080E7234: - cmp r0, 0xA - beq _080E7276 - cmp r0, 0xB - beq _080E7288 -_080E723C: - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E7288 -_080E7244: - movs r0, 0 - bl sub_80E8D8C - bl sub_80E8504 - bl sub_80E9AD4 - bl sub_80E68E8 - bl sub_80E88F0 - bl sub_80E9E98 - b _080E726E -_080E7260: - bl sub_80EA050 - lsls r0, 24 - cmp r0, 0 - beq _080E7288 - bl sub_80E9C94 -_080E726E: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E7288 -_080E7276: - movs r0, 0x1 - bl sub_80E87CC - movs r0, 0x1 - bl sub_80E8958 - ldr r0, _080E7290 @ =sub_80E7294 - bl sub_80E682C -_080E7288: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7290: .4byte sub_80E7294 - thumb_func_end sub_80E7218 - - thumb_func_start sub_80E7294 -sub_80E7294: @ 80E7294 - push {r4,lr} - bl sub_80E7B40 - adds r1, r0, 0 - ldr r4, _080E72CC @ =gSharedMem + 0x1000 - ldr r2, _080E72D0 @ =0x000001b9 - adds r0, r4, r2 - strb r1, [r0] - adds r2, 0x7 - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E72DC - movs r0, 0x5 - bl PlaySE - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, _080E72D4 @ =sub_80E7294 - str r1, [r0] - ldr r0, _080E72D8 @ =sub_80E7458 - bl sub_80E682C - b _080E731A - .align 2, 0 -_080E72CC: .4byte gSharedMem + 0x1000 -_080E72D0: .4byte 0x000001b9 -_080E72D4: .4byte sub_80E7294 -_080E72D8: .4byte sub_80E7458 -_080E72DC: - lsls r0, r1, 24 - cmp r0, 0 - beq _080E72E8 - movs r0, 0x5 - bl PlaySE -_080E72E8: - ldr r0, _080E7304 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E730C - movs r0, 0x5 - bl PlaySE - ldr r0, _080E7308 @ =sub_80E7324 - bl sub_80E682C - b _080E731A - .align 2, 0 -_080E7304: .4byte gMain -_080E7308: .4byte sub_80E7324 -_080E730C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E731A - ldr r0, _080E7320 @ =sub_80E73D0 - bl sub_80E682C -_080E731A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7320: .4byte sub_80E73D0 - thumb_func_end sub_80E7294 - - thumb_func_start sub_80E7324 -sub_80E7324: @ 80E7324 - push {lr} - ldr r0, _080E733C @ =gSharedMem + 0x1000 - ldrh r1, [r0, 0x24] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080E73C6 - lsls r0, r1, 2 - ldr r1, _080E7340 @ =_080E7344 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E733C: .4byte gSharedMem + 0x1000 -_080E7340: .4byte _080E7344 - .align 2, 0 -_080E7344: - .4byte _080E7358 - .4byte _080E737C - .4byte _080E7384 - .4byte _080E738A - .4byte _080E73A4 -_080E7358: - bl sub_80E7DD0 - lsls r0, 24 - cmp r0, 0 - bne _080E7370 - ldr r0, _080E736C @ =sub_80E7294 - bl sub_80E682C - b _080E73C6 - .align 2, 0 -_080E736C: .4byte sub_80E7294 -_080E7370: - bl sub_80E88F0 - movs r0, 0 - bl sub_80E87CC - b _080E7394 -_080E737C: - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - b _080E73C6 -_080E7384: - bl sub_80E9E98 - b _080E7394 -_080E738A: - bl sub_80EA184 - lsls r0, 24 - cmp r0, 0 - beq _080E73C6 -_080E7394: - ldr r1, _080E73A0 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E73C6 - .align 2, 0 -_080E73A0: .4byte gSharedMem + 0x1000 -_080E73A4: - ldrb r0, [r2, 0x8] - cmp r0, 0x6 - bne _080E73C0 - bl sub_80E7FA8 - lsls r0, 24 - cmp r0, 0 - beq _080E73C0 - ldr r0, _080E73BC @ =sub_80E6D7C - bl sub_80E682C - b _080E73C6 - .align 2, 0 -_080E73BC: .4byte sub_80E6D7C -_080E73C0: - ldr r0, _080E73CC @ =sub_80E6AC4 - bl sub_80E682C -_080E73C6: - pop {r0} - bx r0 - .align 2, 0 -_080E73CC: .4byte sub_80E6AC4 - thumb_func_end sub_80E7324 - - thumb_func_start sub_80E73D0 -sub_80E73D0: @ 80E73D0 - push {lr} - ldr r0, _080E73E4 @ =gSharedMem + 0x1000 - ldrh r0, [r0, 0x24] - cmp r0, 0x4 - bhi _080E744E - lsls r0, 2 - ldr r1, _080E73E8 @ =_080E73EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E73E4: .4byte gSharedMem + 0x1000 -_080E73E8: .4byte _080E73EC - .align 2, 0 -_080E73EC: - .4byte _080E7400 - .4byte _080E740C - .4byte _080E7416 - .4byte _080E742C - .4byte _080E7444 -_080E7400: - movs r0, 0 - bl sub_80E87CC - bl sub_80E88F0 - b _080E7436 -_080E740C: - bl sub_80E9AD4 - bl sub_80E9E98 - b _080E7436 -_080E7416: - bl sub_80EA0E4 - lsls r0, 24 - cmp r0, 0 - beq _080E744E - movs r0, 0x1 - bl sub_80E8D8C - bl sub_80E9A14 - b _080E7436 -_080E742C: - bl sub_80E8420 - movs r0, 0 - bl sub_80E8958 -_080E7436: - ldr r1, _080E7440 @ =gSharedMem + 0x1000 - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - b _080E744E - .align 2, 0 -_080E7440: .4byte gSharedMem + 0x1000 -_080E7444: - bl sub_80E9974 - ldr r0, _080E7454 @ =sub_80E6FC8 - bl sub_80E682C -_080E744E: - pop {r0} - bx r0 - .align 2, 0 -_080E7454: .4byte sub_80E6FC8 - thumb_func_end sub_80E73D0 - - thumb_func_start sub_80E7458 -sub_80E7458: @ 80E7458 - push {r4,r5,lr} - ldr r4, _080E7468 @ =gSharedMem + 0x1000 - ldrh r5, [r4, 0x24] - cmp r5, 0 - beq _080E746C - cmp r5, 0x1 - beq _080E74A4 - b _080E7518 - .align 2, 0 -_080E7468: .4byte gSharedMem + 0x1000 -_080E746C: - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - ldr r0, _080E7480 @ =sub_80E6FC8 - cmp r1, r0 - bne _080E7484 - bl sub_80E9D7C - b _080E7488 - .align 2, 0 -_080E7480: .4byte sub_80E6FC8 -_080E7484: - bl sub_80E9D00 -_080E7488: - ldr r4, _080E74A0 @ =gSharedMem + 0x1000 - movs r2, 0xDF - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - bl sub_80E9E08 - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E7518 - .align 2, 0 -_080E74A0: .4byte gSharedMem + 0x1000 -_080E74A4: - bl sub_80E9E54 - lsls r0, 24 - cmp r0, 0 - beq _080E7518 - movs r1, 0xE2 - lsls r1, 1 - adds r0, r4, r1 - ldr r1, [r0] - ldr r0, _080E74DC @ =sub_80E6FC8 - cmp r1, r0 - bne _080E74E4 - bl sub_80E9D7C - ldr r2, _080E74E0 @ =0x000001b5 - adds r1, r4, r2 - adds r2, 0xB - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - bl sub_80E7A98 - adds r0, r4, 0 - adds r0, 0x96 - b _080E74FE - .align 2, 0 -_080E74DC: .4byte sub_80E6FC8 -_080E74E0: .4byte 0x000001b5 -_080E74E4: - ldr r0, _080E7520 @ =0x00009a29 - adds r1, r4, r0 - movs r2, 0xE0 - lsls r2, 1 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - bl sub_80E7D30 - ldr r1, _080E7524 @ =0x000001b9 - adds r0, r4, r1 -_080E74FE: - strb r5, [r0] - ldr r1, _080E7528 @ =gSharedMem + 0x1000 - movs r0, 0xDF - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0x2 - strb r0, [r2] - movs r2, 0xE2 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - bl sub_80E682C -_080E7518: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7520: .4byte 0x00009a29 -_080E7524: .4byte 0x000001b9 -_080E7528: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7458 - - thumb_func_start sub_80E752C -sub_80E752C: @ 80E752C - push {r4,lr} - sub sp, 0x4 - ldr r4, _080E7540 @ =gSharedMem + 0x1000 - ldrh r1, [r4, 0x24] - cmp r1, 0 - beq _080E7544 - cmp r1, 0x1 - beq _080E755C - b _080E756C - .align 2, 0 -_080E7540: .4byte gSharedMem + 0x1000 -_080E7544: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - b _080E756C -_080E755C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080E756C - ldr r0, [r4] - bl SetMainCallback2 -_080E756C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E752C - - thumb_func_start sub_80E7574 -sub_80E7574: @ 80E7574 - push {r4,r5,lr} - ldr r4, _080E75B8 @ =gSharedMem + 0x1000 - ldrb r5, [r4, 0x8] - cmp r5, 0x1 - bne _080E75BC - adds r0, r4, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r4, 0 - adds r1, 0x7E - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080E75BC - adds r0, r4, 0 - adds r0, 0x27 - ldrb r0, [r0] - lsls r0, 1 - subs r1, 0x72 - adds r0, r1 - ldrh r0, [r0] - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - beq _080E75BC - adds r0, r4, 0 - adds r0, 0x7D - strb r5, [r0] - adds r1, r4, 0 - b _080E75C6 - .align 2, 0 -_080E75B8: .4byte gSharedMem + 0x1000 -_080E75BC: - ldr r1, _080E75D4 @ =gSharedMem + 0x1000 - adds r2, r1, 0 - adds r2, 0x7D - movs r0, 0 - strb r0, [r2] -_080E75C6: - adds r1, 0x7D - movs r0, 0 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E75D4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7574 - - thumb_func_start sub_80E75D8 -sub_80E75D8: @ 80E75D8 - push {r4-r6,lr} - movs r4, 0 - ldr r2, _080E75FC @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E7604 - ldr r1, _080E7600 @ =gSharedMem + 0x1000 - adds r0, r1, 0 - adds r0, 0x84 - ldrb r0, [r0] - adds r2, r1, 0 - adds r2, 0x86 - strb r0, [r2] - adds r1, 0x85 - movs r0, 0x2 - b _080E768E - .align 2, 0 -_080E75FC: .4byte gMain -_080E7600: .4byte gSharedMem + 0x1000 -_080E7604: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080E7630 - ldr r2, _080E762C @ =gSharedMem + 0x1000 - adds r1, r2, 0 - adds r1, 0x86 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080E765C - adds r0, r2, 0 - adds r0, 0x84 - ldrb r0, [r0] - strb r0, [r1] - b _080E765C - .align 2, 0 -_080E762C: .4byte gSharedMem + 0x1000 -_080E7630: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E7658 - ldr r0, _080E7684 @ =gSharedMem + 0x1000 - adds r3, r0, 0 - adds r3, 0x86 - ldrb r1, [r3] - adds r1, 0x1 - strb r1, [r3] - adds r0, 0x84 - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - ble _080E7656 - strb r4, [r3] -_080E7656: - movs r4, 0x1 -_080E7658: - cmp r4, 0 - beq _080E76EA -_080E765C: - ldr r2, _080E7684 @ =gSharedMem + 0x1000 - ldrb r3, [r2, 0x9] - cmp r3, 0x2 - bne _080E7692 - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E7688 - adds r0, r2, 0 - adds r0, 0x85 - strb r3, [r0] - b _080E77BC - .align 2, 0 -_080E7684: .4byte gSharedMem + 0x1000 -_080E7688: - adds r1, r2, 0 - adds r1, 0x85 - movs r0, 0 -_080E768E: - strb r0, [r1] - b _080E77BC -_080E7692: - movs r0, 0x85 - adds r0, r2 - mov r12, r0 - adds r4, r2, 0 - adds r4, 0x83 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrb r3, [r4] - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r1, r0 - blt _080E76B0 - subs r0, r3, 0x1 - mov r1, r12 - strb r0, [r1] -_080E76B0: - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r3, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - beq _080E77BC - ldrb r0, [r4] - adds r4, r0, 0 - muls r4, r3 - adds r0, r4, 0 - mov r5, r12 - ldrb r5, [r5] - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2, 0xA] - cmp r0, r1 - bcc _080E77BC - subs r0, r1 - mov r6, r12 - strb r0, [r6] - b _080E77BC -_080E76EA: - ldrh r2, [r2, 0x30] - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080E7744 - ldr r2, _080E7728 @ =gSharedMem + 0x1000 - adds r3, r2, 0 - adds r3, 0x85 - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] - lsls r0, 24 - cmp r0, 0 - bge _080E77BC - adds r1, r2, 0 - adds r1, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - ldrb r4, [r1] - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E772C - movs r0, 0x2 - b _080E77BA - .align 2, 0 -_080E7728: .4byte gSharedMem + 0x1000 -_080E772C: - adds r0, r2, 0 - adds r0, 0x83 - ldrb r0, [r0] - subs r1, r0, 0x1 - strb r1, [r3] - adds r5, r4, 0 - muls r5, r0 - adds r0, r5, 0 - adds r1, r0 - lsls r1, 24 - lsrs r0, r1, 24 - b _080E77B2 -_080E7744: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _080E77C0 - ldr r2, _080E777C @ =gSharedMem + 0x1000 - adds r5, r2, 0 - adds r5, 0x86 - adds r0, r2, 0 - adds r0, 0x84 - movs r1, 0 - ldrsb r1, [r5, r1] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080E7780 - adds r1, r2, 0 - adds r1, 0x85 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - ble _080E77BC - strb r4, [r1] - b _080E77BC - .align 2, 0 -_080E777C: .4byte gSharedMem + 0x1000 -_080E7780: - adds r3, r2, 0 - adds r3, 0x85 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - movs r6, 0x83 - adds r6, r2 - mov r12, r6 - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r6, r1] - cmp r0, r1 - blt _080E779E - strb r4, [r3] -_080E779E: - ldrb r1, [r5] - mov r4, r12 - ldrb r0, [r4] - adds r5, r0, 0 - muls r5, r1 - adds r0, r5, 0 - ldrb r6, [r3] - adds r0, r6 - lsls r0, 24 - lsrs r0, 24 -_080E77B2: - ldrb r1, [r2, 0xA] - cmp r0, r1 - bcc _080E77BC - subs r0, r1 -_080E77BA: - strb r0, [r3] -_080E77BC: - movs r0, 0x1 - b _080E77C2 -_080E77C0: - movs r0, 0 -_080E77C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E75D8 - - thumb_func_start sub_80E77C8 -sub_80E77C8: @ 80E77C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r1, _080E780C @ =gSharedMem + 0x1000 - ldr r2, _080E7810 @ =0x000001b7 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r3, r1, 0 - cmp r0, 0 - beq _080E783E - ldr r1, _080E7814 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E7818 - movs r4, 0xD4 - lsls r4, 1 - adds r1, r3, r4 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - ble _080E7806 - b _080E7948 -_080E7806: - movs r0, 0x3 - strb r0, [r1] - b _080E7948 - .align 2, 0 -_080E780C: .4byte gSharedMem + 0x1000 -_080E7810: .4byte 0x000001b7 -_080E7814: .4byte gMain -_080E7818: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - bne _080E7822 - b _080E7950 -_080E7822: - movs r5, 0xD4 - lsls r5, 1 - adds r1, r3, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bgt _080E7838 - b _080E7948 -_080E7838: - movs r0, 0x1 - strb r0, [r1] - b _080E7948 -_080E783E: - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080E789A - movs r4, 0 - ldr r1, _080E7870 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E7874 - movs r6, 0xD4 - lsls r6, 1 - adds r1, r3, r6 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080E7944 - movs r0, 0x3 - strb r0, [r1] - b _080E7944 - .align 2, 0 -_080E7870: .4byte gMain -_080E7874: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080E7894 - movs r0, 0xD4 - lsls r0, 1 - adds r1, r3, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E7892 - strb r7, [r1] -_080E7892: - movs r4, 0x1 -_080E7894: - cmp r4, 0 - beq _080E7950 - b _080E7944 -_080E789A: - movs r4, 0 - movs r1, 0xE0 - lsls r1, 1 - adds r5, r3, r1 - strb r7, [r5] - ldr r1, _080E78E0 @ =gMain - ldrh r2, [r1, 0x30] - movs r0, 0x40 - ands r0, r2 - adds r6, r1, 0 - cmp r0, 0 - beq _080E78E8 - movs r2, 0xD4 - lsls r2, 1 - adds r1, r3, r2 - ldrb r2, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _080E78C4 - b _080E7A88 -_080E78C4: - subs r0, r2, 0x1 - strb r0, [r1] - ldr r4, _080E78E4 @ =0x000001b5 - adds r1, r3, r4 - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - bge _080E7932 - movs r0, 0xFF - strb r0, [r5] - b _080E7932 - .align 2, 0 -_080E78E0: .4byte gMain -_080E78E4: .4byte 0x000001b5 -_080E78E8: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080E792E - movs r0, 0xD4 - lsls r0, 1 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - movs r4, 0xDB - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, 0x1 - cmp r1, r0 - blt _080E790E - b _080E7A88 -_080E790E: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r2, _080E794C @ =0x000001b5 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x3 - cmp r1, r0 - ble _080E792C - movs r0, 0x1 - strb r0, [r5] -_080E792C: - movs r4, 0x1 -_080E792E: - cmp r4, 0 - beq _080E7950 -_080E7932: - movs r4, 0xE0 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7944 - b _080E7A88 -_080E7944: - bl sub_80E7A98 -_080E7948: - movs r0, 0x1 - b _080E7A8A - .align 2, 0 -_080E794C: .4byte 0x000001b5 -_080E7950: - ldrh r1, [r6, 0x30] - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080E7992 - ldr r5, _080E7974 @ =0x000001a9 - adds r2, r3, r5 - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080E7978 - subs r0, r1, 0x1 - strb r0, [r2] - b _080E79E6 - .align 2, 0 -_080E7974: .4byte 0x000001a9 -_080E7978: - movs r6, 0xD4 - lsls r6, 1 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r4, 0xD5 - lsls r4, 1 - adds r1, r3, r4 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - b _080E79E6 -_080E7992: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E79E2 - ldr r5, _080E79D4 @ =0x000001b7 - adds r0, r3, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E79CC - ldr r0, _080E79D8 @ =0x000001a9 - adds r4, r3, r0 - movs r1, 0xD4 - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0xD5 - lsls r2, 1 - adds r0, r3, r2 - adds r1, r0 - ldrb r5, [r4] - movs r2, 0 - ldrsb r2, [r4, r2] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - bne _080E79DC -_080E79CC: - ldr r4, _080E79D8 @ =0x000001a9 - adds r0, r3, r4 - strb r6, [r0] - b _080E79E0 - .align 2, 0 -_080E79D4: .4byte 0x000001b7 -_080E79D8: .4byte 0x000001a9 -_080E79DC: - adds r0, r5, 0x1 - strb r0, [r4] -_080E79E0: - movs r7, 0x1 -_080E79E2: - cmp r7, 0 - beq _080E7A88 -_080E79E6: - adds r2, r3, 0 - ldr r5, _080E7A48 @ =0x000001b7 - adds r7, r2, r5 - ldrb r6, [r7] - mov r9, r6 - movs r1, 0 - ldr r0, _080E7A4C @ =0x000001a9 - adds r0, r2 - mov r12, r0 - subs r5, 0xF - adds r4, r2, r5 - movs r0, 0 - ldrsb r0, [r4, r0] - movs r6, 0xD5 - lsls r6, 1 - adds r6, r2 - mov r8, r6 - add r0, r8 - mov r6, r12 - movs r5, 0 - ldrsb r5, [r6, r5] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _080E7A1C - movs r1, 0x1 -_080E7A1C: - strb r1, [r7] - cmp r1, 0 - beq _080E7A58 - ldr r0, _080E7A50 @ =0x000001b5 - adds r1, r2, r0 - ldrb r0, [r4] - ldrb r1, [r1] - subs r0, r1 - strb r0, [r4] - lsls r0, 24 - cmp r0, 0 - beq _080E7A36 - b _080E7948 -_080E7A36: - movs r0, 0x1 - strb r0, [r4] - ldr r1, _080E7A54 @ =0x000001ab - adds r0, r2, r1 - ldrb r0, [r0] - mov r2, r12 - strb r0, [r2] - b _080E7948 - .align 2, 0 -_080E7A48: .4byte 0x000001b7 -_080E7A4C: .4byte 0x000001a9 -_080E7A50: .4byte 0x000001b5 -_080E7A54: .4byte 0x000001ab -_080E7A58: - mov r6, r9 - cmp r6, 0 - bne _080E7A60 - b _080E7948 -_080E7A60: - ldr r1, _080E7A84 @ =0x000001b5 - adds r0, r3, r1 - ldrb r0, [r0] - ldrb r2, [r4] - adds r0, r2 - strb r0, [r4] - cmp r5, 0 - bne _080E7A72 - b _080E7948 -_080E7A72: - movs r0, 0 - ldrsb r0, [r4, r0] - add r0, r8 - ldrb r0, [r0] - subs r0, 0x1 - mov r4, r12 - strb r0, [r4] - b _080E7948 - .align 2, 0 -_080E7A84: .4byte 0x000001b5 -_080E7A88: - movs r0, 0 -_080E7A8A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E77C8 - - thumb_func_start sub_80E7A98 -sub_80E7A98: @ 80E7A98 - push {lr} - ldr r1, _080E7ACC @ =gSharedMem + 0x1000 - ldr r0, _080E7AD0 @ =0x000001a9 - adds r3, r1, r0 - movs r2, 0xD4 - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r2, 0x2 - adds r1, r2 - adds r0, r1 - movs r1, 0 - ldrsb r1, [r3, r1] - ldrb r2, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - blt _080E7AC6 - subs r0, r2, 0x1 - strb r0, [r3] -_080E7AC6: - pop {r0} - bx r0 - .align 2, 0 -_080E7ACC: .4byte gSharedMem + 0x1000 -_080E7AD0: .4byte 0x000001a9 - thumb_func_end sub_80E7A98 - - thumb_func_start sub_80E7AD4 -sub_80E7AD4: @ 80E7AD4 - push {lr} - ldr r3, _080E7B08 @ =gSharedMem + 0x1000 - adds r0, r3, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E7B10 - ldr r1, _080E7B0C @ =0x000001a9 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r2, 0xD4 - lsls r2, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x2A - adds r1, r0 - ldrb r1, [r1] - adds r2, 0x10 - b _080E7B34 - .align 2, 0 -_080E7B08: .4byte gSharedMem + 0x1000 -_080E7B0C: .4byte 0x000001a9 -_080E7B10: - ldr r1, _080E7B3C @ =0x000001a9 - adds r0, r3, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - subs r1, 0x1 - adds r0, r3, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - adds r2, r0 - adds r0, r3, 0 - adds r0, 0x40 - adds r2, r0 - ldrb r1, [r2] - movs r2, 0xDC - lsls r2, 1 -_080E7B34: - adds r0, r3, r2 - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080E7B3C: .4byte 0x000001a9 - thumb_func_end sub_80E7AD4 - - thumb_func_start sub_80E7B40 -sub_80E7B40: @ 80E7B40 - push {r4-r7,lr} - movs r5, 0 - ldr r2, _080E7B8C @ =gSharedMem + 0x1000 - movs r0, 0xE0 - lsls r0, 1 - adds r6, r2, r0 - strb r5, [r6] - ldr r1, _080E7B90 @ =gMain - ldrh r4, [r1, 0x30] - movs r0, 0x40 - ands r0, r4 - adds r3, r2, 0 - adds r7, r1, 0 - cmp r0, 0 - beq _080E7B9C - ldr r2, _080E7B94 @ =0x000099a4 - adds r1, r3, r2 - ldrb r2, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _080E7B6E - b _080E7D1A -_080E7B6E: - subs r0, r2, 0x1 - strb r0, [r1] - ldr r4, _080E7B98 @ =0x00009a29 - adds r1, r3, r4 - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - cmp r0, r1 - bge _080E7BF2 - movs r0, 0xFF - strb r0, [r6] - b _080E7D1A - .align 2, 0 -_080E7B8C: .4byte gSharedMem + 0x1000 -_080E7B90: .4byte gMain -_080E7B94: .4byte 0x000099a4 -_080E7B98: .4byte 0x00009a29 -_080E7B9C: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _080E7BEE - ldr r0, _080E7BE0 @ =0x000099a4 - adds r2, r3, r0 - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r4, _080E7BE4 @ =0x00009a28 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, 0x1 - cmp r1, r0 - blt _080E7BBE - b _080E7D1A -_080E7BBE: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r1, 0 - ldrsb r1, [r2, r1] - ldr r2, _080E7BE8 @ =0x00009a29 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 - cmp r1, r0 - blt _080E7BEC - movs r0, 0x1 - strb r0, [r6] - b _080E7D1A - .align 2, 0 -_080E7BE0: .4byte 0x000099a4 -_080E7BE4: .4byte 0x00009a28 -_080E7BE8: .4byte 0x00009a29 -_080E7BEC: - movs r5, 0x1 -_080E7BEE: - cmp r5, 0 - beq _080E7BFA -_080E7BF2: - bl sub_80E7D30 -_080E7BF6: - movs r0, 0x1 - b _080E7D1C -_080E7BFA: - ldrh r1, [r7, 0x30] - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080E7C38 - ldr r4, _080E7C30 @ =0x000099a5 - adds r2, r3, r4 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] - lsls r0, 24 - cmp r0, 0 - bge _080E7BF6 - ldr r6, _080E7C34 @ =0x000099a4 - adds r0, r3, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, 0x1 - adds r1, r3, r4 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - strb r0, [r2] - b _080E7BF6 - .align 2, 0 -_080E7C30: .4byte 0x000099a5 -_080E7C34: .4byte 0x000099a4 -_080E7C38: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E7C70 - ldr r6, _080E7C68 @ =0x000099a5 - adds r4, r3, r6 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r2, _080E7C6C @ =0x000099a4 - adds r1, r3, r2 - movs r2, 0 - ldrsb r2, [r1, r2] - adds r6, 0x1 - adds r1, r3, r6 - adds r2, r1 - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r2, r1] - cmp r0, r1 - blt _080E7BF6 - strb r5, [r4] - b _080E7BF6 - .align 2, 0 -_080E7C68: .4byte 0x000099a5 -_080E7C6C: .4byte 0x000099a4 -_080E7C70: - ldrh r1, [r7, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E7CC4 - ldr r1, _080E7CBC @ =0x00009a29 - adds r0, r3, r1 - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E7CA2 - negs r0, r1 - movs r4, 0xE0 - lsls r4, 1 - adds r2, r3, r4 - strb r0, [r2] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x4 - negs r1, r1 - cmp r0, r1 - bge _080E7CA2 - strb r1, [r2] -_080E7CA2: - ldr r6, _080E7CC0 @ =0x000099a4 - adds r1, r3, r6 - movs r2, 0xE0 - lsls r2, 1 - adds r0, r3, r2 - ldrb r0, [r0] - ldrb r4, [r1] - adds r0, r4 - strb r0, [r1] - movs r6, 0xDF - lsls r6, 1 - adds r1, r3, r6 - b _080E7D16 - .align 2, 0 -_080E7CBC: .4byte 0x00009a29 -_080E7CC0: .4byte 0x000099a4 -_080E7CC4: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E7D1A - ldr r0, _080E7D24 @ =0x00009a29 - adds r4, r3, r0 - movs r1, 0 - ldrsb r1, [r4, r1] - ldr r6, _080E7D28 @ =0x00009a28 - adds r2, r3, r6 - movs r0, 0 - ldrsb r0, [r2, r0] - subs r0, 0x4 - cmp r1, r0 - bge _080E7CFE - ldrb r1, [r4] - adds r1, 0x4 - ldrb r0, [r2] - subs r0, r1 - movs r2, 0xE0 - lsls r2, 1 - adds r1, r3, r2 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _080E7CFE - movs r0, 0x4 - strb r0, [r1] -_080E7CFE: - ldr r4, _080E7D2C @ =0x000099a4 - adds r1, r3, r4 - movs r6, 0xE0 - lsls r6, 1 - adds r0, r3, r6 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - movs r4, 0xDF - lsls r4, 1 - adds r1, r3, r4 -_080E7D16: - movs r0, 0x4 - strb r0, [r1] -_080E7D1A: - movs r0, 0 -_080E7D1C: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E7D24: .4byte 0x00009a29 -_080E7D28: .4byte 0x00009a28 -_080E7D2C: .4byte 0x000099a4 - thumb_func_end sub_80E7B40 - - thumb_func_start sub_80E7D30 -sub_80E7D30: @ 80E7D30 - push {r4,lr} - ldr r0, _080E7D60 @ =gSharedMem + 0x1000 - ldr r1, _080E7D64 @ =0x000099a5 - adds r4, r0, r1 - ldr r2, _080E7D68 @ =0x000099a4 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r2, 0x2 - adds r0, r2 - adds r1, r0 - movs r2, 0 - ldrsb r2, [r4, r2] - ldrb r3, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - blt _080E7D5A - subs r0, r3, 0x1 - strb r0, [r4] -_080E7D5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7D60: .4byte gSharedMem + 0x1000 -_080E7D64: .4byte 0x000099a5 -_080E7D68: .4byte 0x000099a4 - thumb_func_end sub_80E7D30 - - thumb_func_start sub_80E7D6C -sub_80E7D6C: @ 80E7D6C - push {r4,r5,lr} - movs r4, 0 - ldr r0, _080E7D94 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r4, r1 - bcs _080E7D8E - adds r5, r0, 0 -_080E7D7A: - adds r0, r4, 0 - ldr r1, _080E7D98 @ =0x0000ffff - bl sub_80E7F00 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r5, 0xA] - cmp r4, r0 - bcc _080E7D7A -_080E7D8E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7D94: .4byte gSharedMem + 0x1000 -_080E7D98: .4byte 0x0000ffff - thumb_func_end sub_80E7D6C - - thumb_func_start sub_80E7D9C -sub_80E7D9C: @ 80E7D9C - push {r4,r5,lr} - movs r2, 0 - ldr r0, _080E7DCC @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r2, r1 - bcs _080E7DC6 - adds r3, r0, 0 - ldr r4, [r3, 0x4] - adds r5, r3, 0 - adds r5, 0xC -_080E7DB0: - lsls r0, r2, 1 - adds r1, r0, r4 - adds r0, r5 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r3, 0xA] - cmp r2, r0 - bcc _080E7DB0 -_080E7DC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7DCC: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7D9C - - thumb_func_start sub_80E7DD0 -sub_80E7DD0: @ 80E7DD0 - push {r4,lr} - ldr r2, _080E7E28 @ =gSharedMem + 0x1000 - ldr r1, _080E7E2C @ =0x000099a5 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 1 - ldr r3, _080E7E30 @ =0x000099a4 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r1, r0 - adds r3, 0x86 - adds r0, r2, r3 - adds r1, r0 - ldrh r4, [r1] - adds r0, r2, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _080E7E34 - adds r0, r2, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r2, 0 - adds r1, 0x7E - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bls _080E7E34 - adds r0, r4, 0 - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7 - bne _080E7E34 - movs r0, 0 - b _080E7E46 - .align 2, 0 -_080E7E28: .4byte gSharedMem + 0x1000 -_080E7E2C: .4byte 0x000099a5 -_080E7E30: .4byte 0x000099a4 -_080E7E34: - ldr r0, _080E7E4C @ =gSharedMem + 0x1000 - adds r0, 0x27 - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80E7F00 - bl sub_80E95A4 - movs r0, 0x1 -_080E7E46: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E7E4C: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7DD0 - - thumb_func_start sub_80E7E50 -sub_80E7E50: @ 80E7E50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r5, 0 - movs r2, 0 - ldr r1, _080E7EF0 @ =gSharedMem + 0x1000 - adds r3, r1, 0 - adds r3, 0x84 - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r2, r0 - bge _080E7EDE - mov r8, r1 - adds r0, r1, 0 - str r0, [sp] -_080E7E74: - mov r0, r8 - adds r0, 0x7E - adds r0, r2, r0 - movs r1, 0 - strb r1, [r0] - movs r3, 0 - ldr r6, _080E7EF4 @ =gSharedMem + 0x1083 - movs r0, 0 - ldrsb r0, [r6, r0] - adds r1, r2, 0x1 - str r1, [sp, 0x4] - cmp r3, r0 - bge _080E7ECE - ldr r6, [sp] - mov r12, r6 - movs r0, 0 - mov r10, r0 - ldr r1, _080E7EF4 @ =gSharedMem + 0x1083 - mov r9, r1 - ldr r7, _080E7EF8 @ =gSharedMem + 0x100C - lsls r4, r2, 1 -_080E7E9E: - lsls r1, r5, 1 - adds r2, r1, r7 - mov r6, r12 - ldr r0, [r6, 0x4] - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - adds r0, r3, r4 - mov r1, r12 - adds r1, 0x8C - adds r0, r1 - mov r1, r10 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r6, r9 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r3, r0 - blt _080E7E9E -_080E7ECE: - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - lsrs r2, r0, 16 - ldr r6, _080E7EFC @ =gSharedMem + 0x1084 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r2, r0 - blt _080E7E74 -_080E7EDE: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7EF0: .4byte gSharedMem + 0x1000 -_080E7EF4: .4byte gSharedMem + 0x1083 -_080E7EF8: .4byte gSharedMem + 0x100C -_080E7EFC: .4byte gSharedMem + 0x1084 - thumb_func_end sub_80E7E50 - - thumb_func_start sub_80E7F00 -sub_80E7F00: @ 80E7F00 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r7, _080E7F68 @ =gSharedMem + 0x1000 - adds r0, r7, 0 - adds r0, 0x83 - movs r4, 0 - ldrsb r4, [r0, r4] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r0, r6, 1 - adds r1, r7, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - bl sub_80EB2D4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r9 - bl sub_80EB2D4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r4, 0x7 - bne _080E7F6C - cmp r3, 0x7 - beq _080E7F7C - adds r1, r7, 0 - adds r1, 0x7E - adds r1, r5, r1 - ldrb r0, [r1] - subs r0, 0x1 - b _080E7F7A - .align 2, 0 -_080E7F68: .4byte gSharedMem + 0x1000 -_080E7F6C: - cmp r3, 0x7 - bne _080E7F7C - adds r1, r7, 0 - adds r1, 0x7E - adds r1, r5, r1 - ldrb r0, [r1] - adds r0, 0x1 -_080E7F7A: - strb r0, [r1] -_080E7F7C: - movs r3, 0 - ldr r2, _080E7FA4 @ =gSharedMem + 0x1000 - lsls r0, r5, 1 - add r0, r8 - adds r1, r2, 0 - adds r1, 0x8C - adds r0, r1 - strb r3, [r0] - lsls r0, r6, 1 - adds r2, 0xC - adds r0, r2 - mov r1, r9 - strh r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7FA4: .4byte gSharedMem + 0x1000 - thumb_func_end sub_80E7F00 - - thumb_func_start sub_80E7FA8 -sub_80E7FA8: @ 80E7FA8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r8, r0 - movs r5, 0 - ldr r0, _080E8040 @ =gSharedMem + 0x1000 - ldrb r1, [r0, 0xA] - cmp r8, r1 - bcs _080E802E - ldr r3, _080E8044 @ =0x00009e14 - adds r6, r0, r3 - ldr r1, _080E8048 @ =0x00009e41 - adds r1, r0 - mov r9, r1 -_080E7FC8: - ldr r3, _080E804C @ =0xffff61ec - adds r7, r6, r3 - ldr r0, [r7, 0x4] - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - ldr r1, _080E8050 @ =0xffff61f8 - adds r0, r6, r1 - adds r0, r4 - ldrh r1, [r0] - mov r0, r9 - movs r2, 0 - bl sub_80EB218 - adds r1, r6, 0 - mov r2, r9 - ldrb r0, [r1] - adds r4, r5, 0x1 - ldrb r3, [r2] - cmp r0, r3 - bne _080E8018 - adds r3, r7, 0 - cmp r0, 0xFF - beq _080E8010 -_080E8000: - adds r1, 0x1 - adds r2, 0x1 - ldrb r0, [r1] - ldrb r5, [r2] - cmp r0, r5 - bne _080E8018 - cmp r0, 0xFF - bne _080E8000 -_080E8010: - ldrb r0, [r1] - ldrb r2, [r2] - cmp r0, r2 - beq _080E8024 -_080E8018: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r3, _080E8040 @ =gSharedMem + 0x1000 -_080E8024: - lsls r0, r4, 16 - lsrs r5, r0, 16 - ldrb r3, [r3, 0xA] - cmp r5, r3 - bcc _080E7FC8 -_080E802E: - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E8040: .4byte gSharedMem + 0x1000 -_080E8044: .4byte 0x00009e14 -_080E8048: .4byte 0x00009e41 -_080E804C: .4byte 0xffff61ec -_080E8050: .4byte 0xffff61f8 - thumb_func_end sub_80E7FA8 - - thumb_func_start sub_80E8054 -sub_80E8054: @ 80E8054 - push {r4,lr} - movs r1, 0 - ldr r2, _080E8078 @ =gSharedMem + 0x1000 - ldrb r0, [r2, 0xA] - cmp r1, r0 - bcs _080E808A - adds r4, r2, 0 - adds r4, 0xC - ldr r3, _080E807C @ =0x0000ffff - adds r2, r0, 0 -_080E8068: - lsls r0, r1, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r3 - beq _080E8080 - movs r0, 0 - b _080E808C - .align 2, 0 -_080E8078: .4byte gSharedMem + 0x1000 -_080E807C: .4byte 0x0000ffff -_080E8080: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bcc _080E8068 -_080E808A: - movs r0, 0x1 -_080E808C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E8054 - - thumb_func_start sub_80E8094 -sub_80E8094: @ 80E8094 - push {r4-r7,lr} - movs r5, 0 - ldr r6, _080E80C4 @ =gSharedMem + 0xAE14 - adds r7, r6, 0 - adds r7, 0x2D -_080E809E: - lsls r4, r5, 1 - ldr r1, _080E80C8 @ =0xffff61f8 - adds r0, r6, r1 - adds r0, r4 - ldrh r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - ldr r0, _080E80CC @ =gMysteryEventPhrase - adds r4, r0 - ldrh r1, [r4] - adds r0, r7, 0 - movs r2, 0 - bl sub_80EB218 - adds r3, r6, 0 - adds r4, r7, 0 - b _080E80D8 - .align 2, 0 -_080E80C4: .4byte gSharedMem + 0xAE14 -_080E80C8: .4byte 0xffff61f8 -_080E80CC: .4byte gMysteryEventPhrase -_080E80D0: - adds r4, 0x1 - adds r3, 0x1 - cmp r2, r1 - bne _080E80F4 -_080E80D8: - ldrb r2, [r3] - adds r0, r2, 0 - cmp r0, 0xFF - beq _080E80EE - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - bne _080E80D0 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080E80F4 -_080E80EE: - ldrb r0, [r4] - cmp r0, 0xFF - beq _080E80F8 -_080E80F4: - movs r0, 0 - b _080E8104 -_080E80F8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080E809E - movs r0, 0x1 -_080E8104: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E8094 - - thumb_func_start sub_80E810C -sub_80E810C: @ 80E810C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r6, _080E8198 @ =gSharedMem + 0xAE6E - ldr r0, _080E819C @ =0xffff6192 - adds r0, r6 - mov r9, r0 - movs r1, 0 - mov r8, r1 - adds r7, r6, 0 - adds r7, 0x80 - ldr r2, _080E81A0 @ =gBerryMasterWifePhrases - mov r10, r2 -_080E812C: - mov r0, r9 - ldrh r1, [r0, 0xC] - adds r0, r6, 0 - movs r2, 0 - bl sub_80EB218 - mov r1, r8 - strb r1, [r0] - adds r0, 0x1 - mov r2, r9 - ldrh r1, [r2, 0xE] - movs r2, 0 - bl sub_80EB218 - lsls r4, r5, 2 - mov r1, r10 - adds r0, r4, r1 - ldrh r1, [r0] - adds r0, r7, 0 - movs r2, 0 - bl sub_80EB218 - mov r2, r8 - strb r2, [r0] - adds r0, 0x1 - ldr r1, _080E81A4 @ =gBerryMasterWifePhrases + 0x2 - adds r4, r1 - ldrh r1, [r4] - movs r2, 0 - bl sub_80EB218 - adds r0, r6, 0 - adds r3, r7, 0 - adds r4, r5, 0x1 -_080E8170: - ldrb r2, [r0] - cmp r2, 0xFF - beq _080E818A - ldrb r1, [r3] - cmp r1, 0xFF - beq _080E8184 - adds r3, 0x1 - adds r0, 0x1 - cmp r2, r1 - beq _080E8170 -_080E8184: - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E81A8 -_080E818A: - ldrb r0, [r3] - cmp r0, 0xFF - bne _080E81A8 - lsls r0, r4, 24 - lsrs r0, 24 - b _080E81B2 - .align 2, 0 -_080E8198: .4byte gSharedMem + 0xAE6E -_080E819C: .4byte 0xffff6192 -_080E81A0: .4byte gBerryMasterWifePhrases -_080E81A4: .4byte gBerryMasterWifePhrases + 0x2 -_080E81A8: - lsls r0, r4, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _080E812C - movs r0, 0 -_080E81B2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E810C - - thumb_func_start sub_80E81C0 -sub_80E81C0: @ 80E81C0 - push {r4,lr} - ldr r0, _080E81EC @ =gStringVar2 - ldr r4, _080E81F0 @ =gSharedMem + 0x1000 - ldr r2, _080E81F4 @ =0x00009c7c - adds r1, r4, r2 - ldrh r1, [r1] - movs r2, 0 - bl sub_80EB218 - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - ldr r1, _080E81F8 @ =0x00009c7e - adds r4, r1 - ldrh r1, [r4] - movs r2, 0 - bl sub_80EB218 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E81EC: .4byte gStringVar2 -_080E81F0: .4byte gSharedMem + 0x1000 -_080E81F4: .4byte 0x00009c7c -_080E81F8: .4byte 0x00009c7e - thumb_func_end sub_80E81C0 - - thumb_func_start sub_80E81FC -sub_80E81FC: @ 80E81FC - push {lr} - movs r0, 0x5 - bl PlaySE - bl sub_80E95A4 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_80E81FC - - thumb_func_start sub_80E8218 -sub_80E8218: @ 80E8218 - push {r4,r5,lr} - sub sp, 0x40 - mov r1, sp - ldr r0, _080E8260 @ =gSpriteSheets_Interview - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldr r0, [r0] - str r0, [r1] - add r4, sp, 0x28 - adds r1, r4, 0 - ldr r0, _080E8264 @ =gSpritePalettes_Interview - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - bl sub_80E8268 - bl sub_80E8818 - bl sub_80E8A7C - add sp, 0x40 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E8260: .4byte gSpriteSheets_Interview -_080E8264: .4byte gSpritePalettes_Interview - thumb_func_end sub_80E8218 - - thumb_func_start sub_80E8268 -sub_80E8268: @ 80E8268 - push {lr} - ldr r0, _080E82B0 @ =gSpriteTemplate_83DBBFC - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E82B4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _080E82B8 @ =gUnknown_083DB694 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x8A - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x8 - movs r2, 0 - strh r0, [r1, 0x22] - adds r0, r3, 0 - adds r0, 0x88 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x20] - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - adds r0, r3, 0 - adds r0, 0x98 - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080E82B0: .4byte gSpriteTemplate_83DBBFC -_080E82B4: .4byte gSprites -_080E82B8: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8268 - - thumb_func_start sub_80E82BC -sub_80E82BC: @ 80E82BC - push {r4-r7,lr} - adds r3, r0, 0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080E838C - ldr r0, _080E8334 @ =gUnknown_083DB694 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x87 - ldrb r1, [r1] - mov r12, r0 - cmp r1, 0 - beq _080E836C - adds r0, r2, 0 - adds r0, 0x86 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r2, 0 - adds r0, 0x85 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r4, r0, 16 - movs r7, 0 - movs r1, 0 - cmp r7, r4 - bcs _080E8316 - lsls r6, r5, 1 - adds r2, 0x8C -_080E8300: - adds r0, r1, r6 - adds r0, r2, r0 - ldrb r0, [r0] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bcc _080E8300 -_080E8316: - mov r0, r12 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _080E8338 - movs r0, 0x60 - strh r0, [r3, 0x22] - lsls r0, r4, 3 - subs r0, r4 - adds r0, 0x3 - b _080E8356 - .align 2, 0 -_080E8334: .4byte gUnknown_083DB694 -_080E8338: - adds r1, r2, 0 - adds r1, 0x8A - lsls r0, r5, 1 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 3 - adds r0, 0x8 - strh r0, [r3, 0x22] - adds r0, r2, 0 - adds r0, 0x88 - ldrh r0, [r0] - adds r0, r7 - movs r1, 0xB - muls r1, r4 - adds r0, r1 -_080E8356: - lsls r0, 3 - adds r0, 0x4 - strh r0, [r3, 0x20] - movs r1, 0 - ldr r0, _080E8368 @ =0x0000fffa - strh r0, [r3, 0x24] - strh r1, [r3, 0x2E] - b _080E838C - .align 2, 0 -_080E8368: .4byte 0x0000fffa -_080E836C: - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080E838C - strh r1, [r3, 0x2E] - ldrh r0, [r3, 0x24] - adds r0, 0x1 - strh r0, [r3, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080E838C - ldr r0, _080E8394 @ =0x0000fffa - strh r0, [r3, 0x24] -_080E838C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8394: .4byte 0x0000fffa - thumb_func_end sub_80E82BC - - thumb_func_start sub_80E8398 -sub_80E8398: @ 80E8398 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - beq _080E83D4 - cmp r3, 0x1 - bgt _080E83AC - cmp r3, 0 - beq _080E83B2 - b _080E8416 -_080E83AC: - cmp r3, 0x2 - beq _080E83F8 - b _080E8416 -_080E83B2: - ldr r0, _080E83D0 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0x98 - ldr r1, [r0] - strh r3, [r1, 0x30] - ldr r1, [r0] - strh r3, [r1, 0x24] - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _080E8414 - .align 2, 0 -_080E83D0: .4byte gUnknown_083DB694 -_080E83D4: - ldr r0, _080E83F4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0x98 - ldr r0, [r1] - movs r2, 0 - strh r3, [r0, 0x30] - ldr r0, [r1] - strh r2, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _080E8414 - .align 2, 0 -_080E83F4: .4byte gUnknown_083DB694 -_080E83F8: - ldr r0, _080E841C @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0x98 - ldr r2, [r1] - movs r3, 0 - movs r0, 0x1 - strh r0, [r2, 0x30] - ldr r0, [r1] - strh r3, [r0, 0x24] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 -_080E8414: - strb r0, [r1] -_080E8416: - pop {r0} - bx r0 - .align 2, 0 -_080E841C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8398 - - thumb_func_start sub_80E8420 -sub_80E8420: @ 80E8420 - push {r4-r7,lr} - sub sp, 0x18 - mov r1, sp - ldr r0, _080E84E0 @ =gSpriteTemplate_83DBCAC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080E84E4 @ =gUnknown_083DB694 - ldr r7, [r1] - adds r5, r7, 0 - adds r5, 0x9C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _080E84E8 @ =gSprites - adds r1, r4 - str r1, [r5] - ldr r0, _080E84EC @ =gSpriteAnimTable_83DBC8C - str r0, [sp, 0x8] - ldr r0, _080E84F0 @ =sub_80E872C - str r0, [sp, 0x14] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r6, r7, 0 - adds r6, 0xA0 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r6] - ldr r0, _080E84F4 @ =gSpriteAnimTable_83DBC9C - str r0, [sp, 0x8] - ldr r0, _080E84F8 @ =sub_80E8760 - str r0, [sp, 0x14] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r2, r7, 0 - adds r2, 0xA4 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2] - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r0, [r6] - strh r1, [r0, 0x2E] - ldr r0, [r2] - strh r1, [r0, 0x2E] - movs r0, 0x1 - bl IndexOfSpritePaletteTag - ldr r1, [r5] - lsls r0, 24 - lsrs r0, 20 - ldr r2, _080E84FC @ =0x00000101 - adds r0, r2 - strh r0, [r1, 0x34] - bl sub_80E8534 - adds r1, r7, 0 - adds r1, 0x96 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080E8500 @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E84E0: .4byte gSpriteTemplate_83DBCAC -_080E84E4: .4byte gUnknown_083DB694 -_080E84E8: .4byte gSprites -_080E84EC: .4byte gSpriteAnimTable_83DBC8C -_080E84F0: .4byte sub_80E872C -_080E84F4: .4byte gSpriteAnimTable_83DBC9C -_080E84F8: .4byte sub_80E8760 -_080E84FC: .4byte 0x00000101 -_080E8500: .4byte REG_BLDCNT - thumb_func_end sub_80E8420 - - thumb_func_start sub_80E8504 -sub_80E8504: @ 80E8504 - push {r4,lr} - ldr r0, _080E8530 @ =gUnknown_083DB694 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x9C - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0 - adds r0, 0xA0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0 - adds r0, 0xA4 - ldr r0, [r0] - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E8530: .4byte gUnknown_083DB694 - thumb_func_end sub_80E8504 - - thumb_func_start sub_80E8534 -sub_80E8534: @ 80E8534 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _080E8554 @ =gUnknown_083DB694 - ldr r3, [r1] - ldr r2, _080E8558 @ =0x000001b7 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, r1, 0 - cmp r0, 0 - beq _080E8560 - ldr r1, _080E855C @ =gUnknown_020388AC - movs r0, 0x1 - b _080E8598 - .align 2, 0 -_080E8554: .4byte gUnknown_083DB694 -_080E8558: .4byte 0x000001b7 -_080E855C: .4byte gUnknown_020388AC -_080E8560: - adds r0, r3, 0 - adds r0, 0x26 - ldrb r2, [r0] - cmp r2, 0 - bne _080E8578 - ldr r0, _080E8574 @ =gUnknown_020388AC - strb r2, [r0] - adds r7, r0, 0 - b _080E859C - .align 2, 0 -_080E8574: .4byte gUnknown_020388AC -_080E8578: - movs r1, 0xD4 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - movs r0, 0xC0 - lsls r0, 3 - cmp r1, r0 - bne _080E8594 - ldr r1, _080E8590 @ =gUnknown_020388AC - movs r0, 0x2 - b _080E8598 - .align 2, 0 -_080E8590: .4byte gUnknown_020388AC -_080E8594: - ldr r1, _080E85F4 @ =gUnknown_020388AC - movs r0, 0x3 -_080E8598: - strb r0, [r1] - adds r7, r1, 0 -_080E859C: - ldr r2, [r4] - adds r4, r2, 0 - adds r4, 0x9C - ldr r1, [r4] - ldrb r0, [r7] - movs r3, 0 - mov r8, r3 - strh r0, [r1, 0x32] - adds r5, r2, 0 - adds r5, 0xA0 - ldr r1, [r5] - ldrb r0, [r7] - strh r0, [r1, 0x32] - adds r6, r2, 0 - adds r6, 0xA4 - ldr r1, [r6] - ldrb r0, [r7] - strh r0, [r1, 0x32] - ldr r0, [r4] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r5] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r6] - ldrb r1, [r7] - bl StartSpriteAnim - ldr r0, [r4] - movs r1, 0x8 - strh r1, [r0, 0x38] - ldr r0, [r4] - strh r1, [r0, 0x3A] - ldr r0, [r4] - mov r1, r8 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E85F4: .4byte gUnknown_020388AC - thumb_func_end sub_80E8534 - - thumb_func_start sub_80E85F8 -sub_80E85F8: @ 80E85F8 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E8624 - ldr r1, _080E8620 @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - adds r0, 0x8 - strh r0, [r5, 0x38] - b _080E863A - .align 2, 0 -_080E8620: .4byte gSineTable -_080E8624: - ldr r1, _080E8688 @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 21 - movs r0, 0x8 - subs r0, r1 - strh r0, [r5, 0x3A] -_080E863A: - ldrh r0, [r5, 0x30] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x30] - ldr r2, _080E868C @ =REG_BLDALPHA - ldrh r0, [r5, 0x3A] - lsls r0, 8 - ldrh r1, [r5, 0x38] - orrs r0, r1 - strh r0, [r2] - ldr r0, _080E8690 @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E871A - bl sub_80E8534 - adds r1, r6, 0 - adds r1, 0x9C - ldr r0, [r1] - movs r2, 0x8 - strh r2, [r0, 0x38] - ldr r0, [r1] - strh r2, [r0, 0x3A] - ldr r1, [r1] - movs r0, 0 - strh r0, [r1, 0x30] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080E86C4 - cmp r0, 0x1 - bgt _080E8694 - cmp r0, 0 - beq _080E869E - b _080E871A - .align 2, 0 -_080E8688: .4byte gSineTable -_080E868C: .4byte REG_BLDALPHA -_080E8690: .4byte gUnknown_083DB694 -_080E8694: - cmp r0, 0x2 - beq _080E86D6 - cmp r0, 0x3 - beq _080E86DE - b _080E871A -_080E869E: - ldr r2, _080E86C0 @ =0x000001a9 - adds r0, r6, r2 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x58 - muls r0, r1 - adds r0, 0x20 - strh r0, [r5, 0x20] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r2, 0xC - b _080E870A - .align 2, 0 -_080E86C0: .4byte 0x000001a9 -_080E86C4: - movs r0, 0xD8 - strh r0, [r5, 0x20] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - b _080E8714 -_080E86D6: - movs r0, 0x97 - strh r0, [r5, 0x20] - movs r0, 0x60 - b _080E8718 -_080E86DE: - ldr r4, _080E8720 @ =gUnknown_083DBCC4 - ldr r2, _080E8724 @ =0x000001a9 - adds r0, r6, r2 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xD4 - lsls r0, 1 - adds r3, r6, r0 - movs r2, 0 - ldrsb r2, [r3, r2] - lsls r0, r2, 3 - subs r0, r2 - adds r1, r0 - adds r1, r4 - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 3 - adds r0, 0x1F - strh r0, [r5, 0x20] - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, _080E8728 @ =0x000001b5 -_080E870A: - adds r1, r6, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r0, r1 -_080E8714: - lsls r0, 4 - adds r0, 0x60 -_080E8718: - strh r0, [r5, 0x22] -_080E871A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E8720: .4byte gUnknown_083DBCC4 -_080E8724: .4byte 0x000001a9 -_080E8728: .4byte 0x000001b5 - thumb_func_end sub_80E85F8 - - thumb_func_start sub_80E872C -sub_80E872C: @ 80E872C - push {lr} - adds r2, r0, 0 - ldr r0, _080E875C @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E8756 - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080E8756 - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x20 - strh r0, [r2, 0x20] - ldr r0, [r1] - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x22] -_080E8756: - pop {r0} - bx r0 - .align 2, 0 -_080E875C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E872C - - thumb_func_start sub_80E8760 -sub_80E8760: @ 80E8760 - push {lr} - adds r2, r0, 0 - ldr r0, _080E8780 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x96 - ldrb r0, [r0] - cmp r0, 0 - beq _080E879E - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080E8784 - cmp r0, 0x2 - beq _080E878E - b _080E879E - .align 2, 0 -_080E8780: .4byte gUnknown_083DB694 -_080E8784: - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x40 - b _080E8796 -_080E878E: - adds r1, 0x9C - ldr r0, [r1] - ldrh r0, [r0, 0x20] - adds r0, 0x15 -_080E8796: - strh r0, [r2, 0x20] - ldr r0, [r1] - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x22] -_080E879E: - pop {r0} - bx r0 - thumb_func_end sub_80E8760 - - thumb_func_start sub_80E87A4 -sub_80E87A4: @ 80E87A4 - push {r4,lr} - lsls r0, 24 - ldr r1, _080E87C8 @ =gUnknown_083DB694 - ldr r1, [r1] - adds r2, r1, 0 - adds r2, 0xA8 - ldr r3, [r2] - movs r4, 0 - cmp r0, 0 - bne _080E87BA - movs r4, 0x1 -_080E87BA: - movs r1, 0 - strh r4, [r3, 0x30] - ldr r0, [r2] - strh r1, [r0, 0x24] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E87C8: .4byte gUnknown_083DB694 - thumb_func_end sub_80E87A4 - - thumb_func_start sub_80E87CC -sub_80E87CC: @ 80E87CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, _080E8810 @ =gUnknown_083DB694 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0xA8 - ldr r0, [r0] - movs r3, 0 - cmp r4, 0 - bne _080E87E6 - movs r3, 0x1 -_080E87E6: - adds r2, r0, 0 - adds r2, 0x3E - lsls r3, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - adds r0, r4, 0 - bl sub_80E87A4 - cmp r4, 0 - beq _080E880A - ldr r0, _080E8814 @ =0x000001b9 - adds r1, r5, r0 - movs r0, 0x1 - strb r0, [r1] -_080E880A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E8810: .4byte gUnknown_083DB694 -_080E8814: .4byte 0x000001b9 - thumb_func_end sub_80E87CC - - thumb_func_start sub_80E8818 -sub_80E8818: @ 80E8818 - push {lr} - ldr r0, _080E8850 @ =gSpriteTemplate_83DBBFC - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E8854 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - ldr r0, _080E8858 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xA8 - str r1, [r0] - ldr r0, _080E885C @ =sub_80E8860 - str r0, [r1, 0x1C] - movs r0, 0 - bl sub_80E87CC - pop {r0} - bx r0 - .align 2, 0 -_080E8850: .4byte gSpriteTemplate_83DBBFC -_080E8854: .4byte gSprites -_080E8858: .4byte gUnknown_083DB694 -_080E885C: .4byte sub_80E8860 - thumb_func_end sub_80E8818 - - thumb_func_start sub_80E8860 -sub_80E8860: @ 80E8860 - push {r4,r5,lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r4, [r2, r0] - cmp r4, 0 - bne _080E88E4 - ldr r0, _080E88B0 @ =gUnknown_083DB694 - ldr r3, [r0] - ldr r1, _080E88B4 @ =0x000001b9 - adds r0, r3, r1 - ldrb r1, [r0] - cmp r1, 0 - beq _080E88C4 - ldr r5, _080E88B8 @ =0x000099a5 - adds r0, r3, r5 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x58 - muls r0, r1 - adds r0, 0x2C - strh r0, [r2, 0x20] - ldr r1, _080E88BC @ =0x000099a4 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r5, 0x84 - adds r1, r3, r5 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - subs r0, r1 - lsls r0, 4 - adds r0, 0x60 - strh r0, [r2, 0x22] - ldr r0, _080E88C0 @ =0x0000fffa - strh r0, [r2, 0x24] - strh r4, [r2, 0x2E] - b _080E88E4 - .align 2, 0 -_080E88B0: .4byte gUnknown_083DB694 -_080E88B4: .4byte 0x000001b9 -_080E88B8: .4byte 0x000099a5 -_080E88BC: .4byte 0x000099a4 -_080E88C0: .4byte 0x0000fffa -_080E88C4: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080E88E4 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080E88E4 - ldr r0, _080E88EC @ =0x0000fffa - strh r0, [r2, 0x24] -_080E88E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E88EC: .4byte 0x0000fffa - thumb_func_end sub_80E8860 - - thumb_func_start sub_80E88F0 -sub_80E88F0: @ 80E88F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - ldr r0, _080E8950 @ =gUnknown_083DB694 - mov r8, r0 - ldr r0, [r0] - movs r6, 0x4 - movs r5, 0 - movs r1, 0xB4 - adds r1, r0 - mov r12, r1 - adds r7, r0, 0 - adds r7, 0xAC -_080E890C: - lsls r2, r4, 2 - adds r3, r7, r2 - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r0, [r3] - strh r5, [r0, 0x30] - add r2, r12 - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r0, [r2] - strh r5, [r0, 0x30] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E890C - mov r1, r8 - ldr r0, [r1] - ldr r1, _080E8954 @ =0x00009c70 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8950: .4byte gUnknown_083DB694 -_080E8954: .4byte 0x00009c70 - thumb_func_end sub_80E88F0 - - thumb_func_start sub_80E8958 -sub_80E8958: @ 80E8958 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _080E89B4 - movs r0, 0x64 - mov r9, r0 - ldr r0, _080E8998 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r3, _080E899C @ =0x00009c6c - adds r1, r2, r3 - ldr r3, _080E89A0 @ =0x000001b5 - adds r0, r2, r3 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E89A8 - movs r1, 0xDB - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - subs r0, 0x4 - ldr r3, _080E89A4 @ =0x00009c71 - adds r1, r2, r3 - strb r0, [r1] - b _080E8A00 - .align 2, 0 -_080E8998: .4byte gUnknown_083DB694 -_080E899C: .4byte 0x00009c6c -_080E89A0: .4byte 0x000001b5 -_080E89A4: .4byte 0x00009c71 -_080E89A8: - ldr r1, _080E89B0 @ =0x00009c71 - adds r0, r2, r1 - strb r7, [r0] - b _080E8A00 - .align 2, 0 -_080E89B0: .4byte 0x00009c71 -_080E89B4: - movs r3, 0x78 - mov r9, r3 - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E8A68 @ =0x00009c6c - adds r1, r2, r0 - ldr r3, _080E8A6C @ =0x00009a29 - adds r0, r2, r3 - str r0, [r1] - ldr r1, _080E8A70 @ =0x00009a28 - adds r0, r2, r1 - ldrb r0, [r0] - subs r0, 0x4 - ldr r3, _080E8A74 @ =0x00009c71 - adds r1, r2, r3 - strb r0, [r1] - movs r4, 0 - adds r5, r2, 0 - adds r5, 0xB4 - movs r0, 0x5 - negs r0, r0 - mov r12, r0 - movs r6, 0x1 -_080E89E2: - lsls r3, r4, 2 - adds r3, r5, r3 - ldr r1, [r3] - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - strh r6, [r0, 0x30] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E89E2 -_080E8A00: - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r3, _080E8A74 @ =0x00009c71 - adds r1, r2, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _080E8A14 - movs r0, 0 - strb r0, [r1] -_080E8A14: - movs r4, 0 - adds r6, r2, 0 - adds r6, 0xAC - movs r0, 0x5 - negs r0, r0 - mov r8, r0 -_080E8A20: - lsls r2, r4, 2 - adds r2, r6, r2 - ldr r0, [r2] - mov r1, r9 - strh r1, [r0, 0x20] - ldr r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r8 - ands r0, r3 - strb r0, [r1] - ldr r0, [r2] - movs r5, 0x1 - strh r5, [r0, 0x30] - ldr r0, [r2] - adds r1, r7, 0 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E8A20 - ldr r0, _080E8A64 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E8A78 @ =0x00009c70 - adds r0, r1 - strb r5, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8A64: .4byte gUnknown_083DB694 -_080E8A68: .4byte 0x00009c6c -_080E8A6C: .4byte 0x00009a29 -_080E8A70: .4byte 0x00009a28 -_080E8A74: .4byte 0x00009c71 -_080E8A78: .4byte 0x00009c70 - thumb_func_end sub_80E8958 - - thumb_func_start sub_80E8A7C -sub_80E8A7C: @ 80E8A7C - push {r4-r7,lr} - sub sp, 0x18 - mov r1, sp - ldr r0, _080E8B68 @ =gSpriteTemplate_83DBD18 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r5, 0 -_080E8A8E: - lsls r2, r5, 3 - adds r2, r5 - lsls r2, 19 - movs r0, 0xA8 - lsls r0, 15 - adds r2, r0 - asrs r2, 16 - mov r0, sp - movs r1, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080E8B6C @ =gUnknown_083DB694 - ldr r2, [r0] - lsls r0, r5, 2 - adds r2, 0xAC - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8B70 @ =gSprites - adds r0, r1 - str r0, [r2] - strh r5, [r0, 0x2E] - ldr r3, [r2] - adds r3, 0x3F - movs r0, 0x1 - adds r2, r5, 0 - ands r2, r0 - lsls r2, 1 - ldrb r0, [r3] - movs r4, 0x3 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E8A8E - mov r0, sp - movs r1, 0x3 - strh r1, [r0] - ldr r0, _080E8B74 @ =gSpriteAnimTable_83DBD10 - str r0, [sp, 0x8] - movs r5, 0 - movs r7, 0x3F - movs r6, 0x40 -_080E8AF6: - lsls r4, r5, 2 - adds r1, r4, r5 - lsls r1, 19 - movs r0, 0x8E - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - mov r0, sp - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080E8B6C @ =gUnknown_083DB694 - ldr r2, [r0] - adds r2, 0xB4 - adds r2, r4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8B70 @ =gSprites - adds r0, r1 - str r0, [r2] - strh r5, [r0, 0x2E] - ldr r3, [r2] - ldrb r1, [r3, 0x1] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r3, 0x1] - ldr r3, [r2] - ldrb r1, [r3, 0x3] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r3, 0x3] - ldr r0, [r2] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080E8AF6 - movs r0, 0 - bl sub_80E8958 - bl sub_80E88F0 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8B68: .4byte gSpriteTemplate_83DBD18 -_080E8B6C: .4byte gUnknown_083DB694 -_080E8B70: .4byte gSprites -_080E8B74: .4byte gSpriteAnimTable_83DBD10 - thumb_func_end sub_80E8A7C - - thumb_func_start sub_80E8B78 -sub_80E8B78: @ 80E8B78 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _080E8BB0 @ =gUnknown_083DB694 - ldr r1, [r0] - ldr r2, _080E8BB4 @ =0x00009c70 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E8BE8 - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080E8BE8 - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _080E8BBC - movs r4, 0 - ldr r2, _080E8BB8 @ =0x00009c6c - adds r0, r1, r2 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E8BD6 - b _080E8BD4 - .align 2, 0 -_080E8BB0: .4byte gUnknown_083DB694 -_080E8BB4: .4byte 0x00009c70 -_080E8BB8: .4byte 0x00009c6c -_080E8BBC: - movs r4, 0 - ldr r2, _080E8BF0 @ =0x00009c6c - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x5 - adds r1, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r2, r0 - bne _080E8BD6 -_080E8BD4: - movs r4, 0x1 -_080E8BD6: - adds r2, r3, 0 - adds r2, 0x3E - lsls r3, r4, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080E8BE8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E8BF0: .4byte 0x00009c6c - thumb_func_end sub_80E8B78 - - thumb_func_start sub_80E8BF4 -sub_80E8BF4: @ 80E8BF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r0, _080E8C28 @ =gUnknown_083DBD30 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - ldr r0, _080E8C2C @ =gUnknown_083DBD38 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - cmp r2, 0x2 - beq _080E8C20 - cmp r2, 0x5 - beq _080E8C30 -_080E8C20: - movs r4, 0x40 - movs r5, 0x28 - b _080E8C34 - .align 2, 0 -_080E8C28: .4byte gUnknown_083DBD30 -_080E8C2C: .4byte gUnknown_083DBD38 -_080E8C30: - movs r4, 0x24 - movs r5, 0x30 -_080E8C34: - cmp r3, 0 - beq _080E8C3C - cmp r3, 0x1 - beq _080E8C40 -_080E8C3C: - movs r0, 0x43 - b _080E8C42 -_080E8C40: - movs r0, 0x44 -_080E8C42: - mov r8, r0 - add r0, sp, 0x4 - bl LoadCompressedObjectPic - add r0, sp, 0xC - bl LoadSpritePalette - ldr r0, _080E8CDC @ =gSpriteTemplate_83DBD48 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - ldr r0, _080E8CE0 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - movs r1, 0x69 - cmp r0, 0 - bne _080E8C68 - movs r1, 0x64 -_080E8C68: - ldr r7, _080E8CE4 @ =SpriteCallbackDummy - adds r2, r4, 0 - subs r2, 0xC - movs r6, 0 - str r6, [sp] - adds r0, r1, 0 - adds r1, r7, 0 - adds r3, r5, 0 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080E8C9E - ldr r1, _080E8CE8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x3 - bl StartSpriteAnim -_080E8C9E: - adds r2, r4, 0 - adds r2, 0xC - str r6, [sp] - mov r0, r8 - adds r1, r7, 0 - adds r3, r5, 0 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080E8CD0 - ldr r1, _080E8CE8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x2 - bl StartSpriteAnim -_080E8CD0: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E8CDC: .4byte gSpriteTemplate_83DBD48 -_080E8CE0: .4byte gSaveBlock2 -_080E8CE4: .4byte SpriteCallbackDummy -_080E8CE8: .4byte gSprites - thumb_func_end sub_80E8BF4 - - thumb_func_start sub_80E8CEC -sub_80E8CEC: @ 80E8CEC - push {lr} - ldr r0, _080E8D24 @ =gUnknown_083DBD60 - bl LoadCompressedObjectPic - ldr r0, _080E8D28 @ =gUnknown_083DBD68 - bl LoadSpritePalette - ldr r0, _080E8D2C @ =gSpriteTemplate_83DBDE4 - movs r1, 0xE0 - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080E8D3C - ldr r0, _080E8D30 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E8D34 @ =0x00009c74 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E8D38 @ =gSprites - adds r0, r1 - str r0, [r2] - b _080E8D48 - .align 2, 0 -_080E8D24: .4byte gUnknown_083DBD60 -_080E8D28: .4byte gUnknown_083DBD68 -_080E8D2C: .4byte gSpriteTemplate_83DBDE4 -_080E8D30: .4byte gUnknown_083DB694 -_080E8D34: .4byte 0x00009c74 -_080E8D38: .4byte gSprites -_080E8D3C: - ldr r0, _080E8D4C @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E8D50 @ =0x00009c74 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080E8D48: - pop {r0} - bx r0 - .align 2, 0 -_080E8D4C: .4byte gUnknown_083DB694 -_080E8D50: .4byte 0x00009c74 - thumb_func_end sub_80E8CEC - - thumb_func_start sub_80E8D54 -sub_80E8D54: @ 80E8D54 - push {lr} - ldr r0, _080E8D78 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r1, _080E8D7C @ =0x00009c74 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - beq _080E8D88 - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E8D80 - adds r0, r1, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _080E8D88 - .align 2, 0 -_080E8D78: .4byte gUnknown_083DB694 -_080E8D7C: .4byte 0x00009c74 -_080E8D80: - adds r0, r1, 0 - movs r1, 0x2 - bl StartSpriteAnim -_080E8D88: - pop {r0} - bx r0 - thumb_func_end sub_80E8D54 - - thumb_func_start sub_80E8D8C -sub_80E8D8C: @ 80E8D8C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080E8DB8 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r1, _080E8DBC @ =0x00009c74 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - beq _080E8DD2 - cmp r3, 0 - beq _080E8DCA - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E8DC0 - adds r0, r1, 0 - movs r1, 0x3 - bl StartSpriteAnim - b _080E8DD2 - .align 2, 0 -_080E8DB8: .4byte gUnknown_083DB694 -_080E8DBC: .4byte 0x00009c74 -_080E8DC0: - adds r0, r1, 0 - movs r1, 0x4 - bl StartSpriteAnim - b _080E8DD2 -_080E8DCA: - adds r0, r1, 0 - movs r1, 0x5 - bl StartSpriteAnim -_080E8DD2: - pop {r0} - bx r0 - thumb_func_end sub_80E8D8C - - thumb_func_start sub_80E8DD8 -sub_80E8DD8: @ 80E8DD8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - ldr r0, _080E8F2C @ =REG_BG0HOFS - movs r6, 0 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x4 - strh r6, [r0] - subs r0, 0x2 - strh r6, [r0] - adds r0, 0x4 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - ldr r1, _080E8F30 @ =REG_BG0CNT - movs r2, 0x8B - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080E8F34 @ =0x00000d09 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080E8F38 @ =gUnknown_08E945D0 - ldr r1, _080E8F3C @ =gUnknown_083DB694 - ldr r1, [r1] - mov r8, r1 - movs r4, 0xE4 - lsls r4, 1 - add r4, r8 - movs r5, 0xA0 - lsls r5, 2 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080E8F40 @ =gUnknown_08E953D0 - movs r1, 0xD9 - lsls r1, 3 - add r1, r8 - bl LZ77UnCompWram - ldr r0, _080E8F44 @ =gMenuWordGroupFrame_Gfx - ldr r1, _080E8F48 @ =0x06008000 - bl LZ77UnCompVram - ldr r1, _080E8F4C @ =0x06006800 - adds r0, r4, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080E8F50 @ =gMenuWordGroupFrame1_Pal - movs r1, 0x40 - movs r2, 0x40 - bl LoadPalette - ldr r1, _080E8F54 @ =REG_BG2CNT - ldr r2, _080E8F58 @ =0x00000e02 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080E8F5C @ =0x06007000 - movs r5, 0x80 - lsls r5, 4 - mov r0, sp - strh r6, [r0] - ldr r4, _080E8F60 @ =0x040000d4 - str r0, [r4] - str r1, [r4, 0x4] - lsrs r0, r5, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F64 @ =gUnknown_08E9AB00 - ldr r2, _080E8F68 @ =0x06006000 - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, _080E8F6C @ =0x80000020 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F70 @ =gUnknown_08E9AB60 - bl LZ77UnCompVram - ldr r0, _080E8F74 @ =gUnknown_08E9AB40 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080E8F78 @ =gUnknown_083DBDFC - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080E8F7C @ =REG_BG3CNT - ldr r2, _080E8F80 @ =0x00000f0f - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080E8F84 @ =0x06007800 - movs r0, 0 - mov r9, r0 - str r0, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r4] - str r1, [r4, 0x4] - lsrs r5, 2 - movs r0, 0x85 - lsls r0, 24 - orrs r5, r0 - str r5, [r4, 0x8] - ldr r0, [r4, 0x8] - ldr r0, _080E8F88 @ =gUnknown_083DBE40 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080E8F8C @ =gPlttBufferUnfaded - adds r1, r0, 0 - adds r1, 0x7E - ldr r3, _080E8F90 @ =0x00007fff - strh r3, [r1] - subs r1, 0x1C - ldr r2, _080E8F94 @ =0x00006f5b - strh r2, [r1] - adds r0, 0x70 - ldr r1, _080E8F98 @ =0x0000739c - strh r1, [r0] - ldr r0, _080E8F9C @ =gPlttBufferFaded - adds r4, r0, 0 - adds r4, 0x7E - strh r3, [r4] - adds r3, r0, 0 - adds r3, 0x62 - strh r2, [r3] - adds r0, 0x70 - strh r1, [r0] - movs r1, 0xBC - add r8, r1 - mov r2, r8 - strb r6, [r2] - bl sub_80E8FA4 - bl sub_80E948C - movs r0, 0xA - bl sub_80E9198 - movs r0, 0 - bl sub_80E91D4 - bl sub_80E95A4 - ldr r0, _080E8FA0 @ =REG_BLDCNT - mov r1, r9 - strh r1, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E8F2C: .4byte REG_BG0HOFS -_080E8F30: .4byte REG_BG0CNT -_080E8F34: .4byte 0x00000d09 -_080E8F38: .4byte gUnknown_08E945D0 -_080E8F3C: .4byte gUnknown_083DB694 -_080E8F40: .4byte gUnknown_08E953D0 -_080E8F44: .4byte gMenuWordGroupFrame_Gfx -_080E8F48: .4byte 0x06008000 -_080E8F4C: .4byte 0x06006800 -_080E8F50: .4byte gMenuWordGroupFrame1_Pal -_080E8F54: .4byte REG_BG2CNT -_080E8F58: .4byte 0x00000e02 -_080E8F5C: .4byte 0x06007000 -_080E8F60: .4byte 0x040000d4 -_080E8F64: .4byte gUnknown_08E9AB00 -_080E8F68: .4byte 0x06006000 -_080E8F6C: .4byte 0x80000020 -_080E8F70: .4byte gUnknown_08E9AB60 -_080E8F74: .4byte gUnknown_08E9AB40 -_080E8F78: .4byte gUnknown_083DBDFC -_080E8F7C: .4byte REG_BG3CNT -_080E8F80: .4byte 0x00000f0f -_080E8F84: .4byte 0x06007800 -_080E8F88: .4byte gUnknown_083DBE40 -_080E8F8C: .4byte gPlttBufferUnfaded -_080E8F90: .4byte 0x00007fff -_080E8F94: .4byte 0x00006f5b -_080E8F98: .4byte 0x0000739c -_080E8F9C: .4byte gPlttBufferFaded -_080E8FA0: .4byte REG_BLDCNT - thumb_func_end sub_80E8DD8 - - thumb_func_start sub_80E8FA4 -sub_80E8FA4: @ 80E8FA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - movs r0, 0 - mov r9, r0 - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x24] - add r2, sp, 0xC - mov r12, r2 -_080E8FBE: - mov r3, r9 - lsls r1, r3, 1 - ldr r4, _080E90F4 @ =gMenuWordGroupFrame2_Pal + 0x2 - adds r0, r1, r4 - ldrh r2, [r0] - movs r0, 0x1F - ands r0, r2 - lsls r0, 8 - str r0, [sp] - ldr r5, _080E90F8 @ =gMenuWordGroupFrame2_Pal + 0x8 - adds r1, r5 - ldrh r1, [r1] - movs r0, 0x1F - ands r0, r1 - lsls r0, 8 - str r0, [sp, 0xC] - lsls r2, 16 - lsrs r0, r2, 21 - movs r3, 0x1F - ands r0, r3 - lsls r0, 8 - str r0, [sp, 0x4] - lsls r1, 16 - lsrs r0, r1, 21 - ands r0, r3 - lsls r0, 8 - mov r4, r12 - str r0, [r4, 0x4] - lsrs r2, 26 - ands r2, r3 - lsls r2, 8 - str r2, [sp, 0x8] - lsrs r1, 26 - ands r1, r3 - lsls r1, 8 - str r1, [r4, 0x8] - movs r3, 0 - mov r5, r9 - lsls r5, 3 - mov r10, r5 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x28] - ldr r4, [sp, 0x24] -_080E9016: - lsls r0, r3, 2 - adds r2, r4, r0 - mov r5, r12 - adds r1, r5, r0 - add r0, sp - ldr r1, [r1] - ldr r0, [r0] - subs r0, r1, r0 - cmp r0, 0 - bge _080E902C - adds r0, 0x7 -_080E902C: - asrs r0, 3 - str r0, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x2 - bls _080E9016 - movs r4, 0 - ldr r0, _080E90FC @ =gUnknown_083DB694 - ldr r1, [r0] - mov r0, r10 - add r0, r9 - lsls r0, 1 - mov r8, r0 - movs r5, 0x1F - ldr r6, [sp, 0x24] - ldr r0, _080E9100 @ =0x00009c34 - adds r7, r1, r0 -_080E9050: - lsls r2, r4, 1 - add r2, r8 - adds r2, r7, r2 - ldr r1, [sp, 0x8] - asrs r1, 8 - ands r1, r5 - lsls r1, 10 - ldr r0, [sp, 0x4] - asrs r0, 8 - ands r0, r5 - lsls r0, 5 - orrs r1, r0 - ldr r0, [sp] - asrs r0, 8 - ands r0, r5 - orrs r1, r0 - strh r1, [r2] - movs r3, 0 - adds r4, 0x1 -_080E9076: - lsls r0, r3, 2 - mov r1, sp - adds r2, r1, r0 - adds r0, r6, r0 - ldr r1, [r2] - ldr r0, [r0] - adds r1, r0 - str r1, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x2 - bls _080E9076 - lsls r0, r4, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080E9050 - ldr r2, _080E90FC @ =gUnknown_083DB694 - ldr r3, [r2] - mov r0, r10 - add r0, r9 - adds r0, r4 - lsls r0, 1 - ldr r4, _080E9100 @ =0x00009c34 - adds r2, r3, r4 - adds r2, r0 - mov r5, r12 - ldr r1, [r5, 0x8] - asrs r1, 8 - movs r0, 0x1F - ands r1, r0 - lsls r1, 10 - ldr r0, [r5, 0x4] - asrs r0, 8 - movs r4, 0x1F - ands r0, r4 - lsls r0, 5 - orrs r1, r0 - ldr r0, [sp, 0xC] - asrs r0, 8 - ands r0, r4 - orrs r1, r0 - strh r1, [r2] - ldr r5, [sp, 0x28] - lsls r0, r5, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0x2 - bhi _080E90DA - b _080E8FBE -_080E90DA: - ldr r0, _080E9104 @ =0x00009c32 - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E90F4: .4byte gMenuWordGroupFrame2_Pal + 0x2 -_080E90F8: .4byte gMenuWordGroupFrame2_Pal + 0x8 -_080E90FC: .4byte gUnknown_083DB694 -_080E9100: .4byte 0x00009c34 -_080E9104: .4byte 0x00009c32 - thumb_func_end sub_80E8FA4 - - thumb_func_start sub_80E9108 -sub_80E9108: @ 80E9108 - push {r4-r7,lr} - lsls r0, 24 - ldr r1, _080E9164 @ =gUnknown_083DB694 - ldr r2, [r1] - ldr r3, _080E9168 @ =0x00009c32 - adds r1, r2, r3 - lsrs r0, 24 - ldrb r3, [r1] - adds r0, r3 - strb r0, [r1] - movs r4, 0 - ldr r0, _080E916C @ =gPlttBufferUnfaded - mov r12, r0 - adds r6, r1, 0 - ldr r3, _080E9170 @ =0x00009c34 - adds r5, r2, r3 - ldr r7, _080E9174 @ =gPlttBufferFaded -_080E912A: - adds r2, r4, 0 - adds r2, 0x51 - lsls r2, 1 - mov r0, r12 - adds r3, r2, r0 - ldrb r0, [r6] - lsls r0, 1 - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 1 - adds r0, r1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r3] - adds r2, r7 - ldrb r0, [r6] - lsls r0, 1 - adds r0, r1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _080E912A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9164: .4byte gUnknown_083DB694 -_080E9168: .4byte 0x00009c32 -_080E916C: .4byte gPlttBufferUnfaded -_080E9170: .4byte 0x00009c34 -_080E9174: .4byte gPlttBufferFaded - thumb_func_end sub_80E9108 - - thumb_func_start sub_80E9178 -sub_80E9178: @ 80E9178 - push {lr} - ldr r0, _080E9190 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E9194 @ =0x00009c32 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0 - bl sub_80E9108 - pop {r0} - bx r0 - .align 2, 0 -_080E9190: .4byte gUnknown_083DB694 -_080E9194: .4byte 0x00009c32 - thumb_func_end sub_80E9178 - - thumb_func_start sub_80E9198 -sub_80E9198: @ 80E9198 - ldr r1, _080E91A0 @ =gUnknown_03000740 - strb r0, [r1] - bx lr - .align 2, 0 -_080E91A0: .4byte gUnknown_03000740 - thumb_func_end sub_80E9198 - - thumb_func_start sub_80E91A4 -sub_80E91A4: @ 80E91A4 - ldr r0, _080E91AC @ =gUnknown_03000740 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080E91AC: .4byte gUnknown_03000740 - thumb_func_end sub_80E91A4 - - thumb_func_start sub_80E91B0 -sub_80E91B0: @ 80E91B0 - push {lr} - sub sp, 0x8 - lsls r2, 24 - lsls r1, 27 - lsrs r1, 24 - lsrs r2, 21 - lsls r3, 27 - lsrs r3, 24 - str r3, [sp] - movs r3, 0x1 - str r3, [sp, 0x4] - movs r3, 0xB0 - bl sub_8072AB0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80E91B0 - - thumb_func_start sub_80E91D4 -sub_80E91D4: @ 80E91D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, _080E91FC @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - cmp r4, 0xA - bne _080E9200 - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0xA - bl sub_80E9198 - b _080E935C - .align 2, 0 -_080E91FC: .4byte gWindowConfig_81E6DA8 -_080E9200: - bl sub_80E91A4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bne _080E9218 - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl MenuDrawTextWindow -_080E9218: - adds r0, r4, 0 - bl sub_80E9198 - cmp r4, 0x9 - bls _080E9224 - b _080E935C -_080E9224: - lsls r0, r4, 2 - ldr r1, _080E9230 @ =_080E9234 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9230: .4byte _080E9234 - .align 2, 0 -_080E9234: - .4byte _080E925C - .4byte _080E9284 - .4byte _080E92AC - .4byte _080E92C4 - .4byte _080E92F0 - .4byte _080E9308 - .4byte _080E9310 - .4byte _080E9318 - .4byte _080E933C - .4byte _080E9350 -_080E925C: - ldr r0, _080E9278 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r1, _080E927C @ =0x00009c80 - adds r0, r4, r1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9280 @ =0x00009cc9 - adds r4, r0 - adds r0, r4, 0 - b _080E9326 - .align 2, 0 -_080E9278: .4byte gUnknown_083DB694 -_080E927C: .4byte 0x00009c80 -_080E9280: .4byte 0x00009cc9 -_080E9284: - ldr r0, _080E92A0 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r1, _080E92A4 @ =0x00009d12 - adds r0, r4, r1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E92A8 @ =0x00009d5b - adds r4, r0 - adds r0, r4, 0 - b _080E9326 - .align 2, 0 -_080E92A0: .4byte gUnknown_083DB694 -_080E92A4: .4byte 0x00009d12 -_080E92A8: .4byte 0x00009d5b -_080E92AC: - ldr r0, _080E92BC @ =gOtherText_TextDeletedConfirmPage1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E92C0 @ =gOtherText_TextDeletedConfirmPage2 - b _080E9326 - .align 2, 0 -_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1 -_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2 -_080E92C4: - ldr r0, _080E92D8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x4 - beq _080E92E0 - cmp r0, 0x9 - bne _080E92E8 - ldr r0, _080E92DC @ =gOtherText_QuitGivingInfo - b _080E933E - .align 2, 0 -_080E92D8: .4byte gUnknown_083DB694 -_080E92DC: .4byte gOtherText_QuitGivingInfo -_080E92E0: - ldr r0, _080E92E4 @ =gOtherText_StopGivingMail - b _080E933E - .align 2, 0 -_080E92E4: .4byte gOtherText_StopGivingMail -_080E92E8: - ldr r0, _080E92EC @ =gOtherText_QuitEditing - b _080E933E - .align 2, 0 -_080E92EC: .4byte gOtherText_QuitEditing -_080E92F0: - ldr r0, _080E9300 @ =gOtherText_EditedTextNoSavePage1 - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9304 @ =gOtherText_EditedTextNoSavePage2 - b _080E9326 - .align 2, 0 -_080E9300: .4byte gOtherText_EditedTextNoSavePage1 -_080E9304: .4byte gOtherText_EditedTextNoSavePage2 -_080E9308: - ldr r0, _080E930C @ =gOtherText_EnterAPhraseOrWord - b _080E933E - .align 2, 0 -_080E930C: .4byte gOtherText_EnterAPhraseOrWord -_080E9310: - ldr r0, _080E9314 @ =gOtherText_TextNoDelete - b _080E933E - .align 2, 0 -_080E9314: .4byte gOtherText_TextNoDelete -_080E9318: - ldr r0, _080E9334 @ =gOtherText_OnlyOnePhrase - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x2 - bl sub_80E91B0 - ldr r0, _080E9338 @ =gOtherText_OriginalSongRestored -_080E9326: - movs r1, 0x4 - movs r2, 0x11 - movs r3, 0x2 - bl sub_80E91B0 - b _080E935C - .align 2, 0 -_080E9334: .4byte gOtherText_OnlyOnePhrase -_080E9338: .4byte gOtherText_OriginalSongRestored -_080E933C: - ldr r0, _080E934C @ =gOtherText_TrendyAlready -_080E933E: - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x4 - bl sub_80E91B0 - b _080E935C - .align 2, 0 -_080E934C: .4byte gOtherText_TrendyAlready -_080E9350: - ldr r0, _080E9364 @ =gOtherText_CombineTwoPhrases - movs r1, 0x4 - movs r2, 0xF - movs r3, 0x4 - bl sub_80E91B0 -_080E935C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E9364: .4byte gOtherText_CombineTwoPhrases - thumb_func_end sub_80E91D4 - - thumb_func_start sub_80E9368 -sub_80E9368: @ 80E9368 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bhi _080E93F8 - lsls r0, 2 - ldr r1, _080E937C @ =_080E9380 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E937C: .4byte _080E9380 - .align 2, 0 -_080E9380: - .4byte _080E93B8 - .4byte _080E93C0 - .4byte _080E93C8 - .4byte _080E93D0 - .4byte _080E93F8 - .4byte _080E93E8 - .4byte _080E93D8 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93E0 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93E8 - .4byte _080E93F0 -_080E93B8: - ldr r4, _080E93BC @ =gOtherText_Profile - b _080E93FA - .align 2, 0 -_080E93BC: .4byte gOtherText_Profile -_080E93C0: - ldr r4, _080E93C4 @ =gOtherText_AtBattleStart - b _080E93FA - .align 2, 0 -_080E93C4: .4byte gOtherText_AtBattleStart -_080E93C8: - ldr r4, _080E93CC @ =gOtherText_UponWinningBattle - b _080E93FA - .align 2, 0 -_080E93CC: .4byte gOtherText_UponWinningBattle -_080E93D0: - ldr r4, _080E93D4 @ =gOtherText_UponLosingBattle - b _080E93FA - .align 2, 0 -_080E93D4: .4byte gOtherText_UponLosingBattle -_080E93D8: - ldr r4, _080E93DC @ =gOtherText_TheBardsSong - b _080E93FA - .align 2, 0 -_080E93DC: .4byte gOtherText_TheBardsSong -_080E93E0: - ldr r4, _080E93E4 @ =gOtherText_WhatsHipHappening - b _080E93FA - .align 2, 0 -_080E93E4: .4byte gOtherText_WhatsHipHappening -_080E93E8: - ldr r4, _080E93EC @ =gOtherText_Interview - b _080E93FA - .align 2, 0 -_080E93EC: .4byte gOtherText_Interview -_080E93F0: - ldr r4, _080E93F4 @ =gOtherText_GoodSaying - b _080E93FA - .align 2, 0 -_080E93F4: .4byte gOtherText_GoodSaying -_080E93F8: - movs r4, 0 -_080E93FA: - ldr r0, _080E943C @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E9440 @ =gUnknown_083DB694 - ldr r2, [r0] - ldr r0, _080E9444 @ =0x00009f8e - adds r5, r2, r0 - movs r3, 0xFC - strb r3, [r5] - adds r0, 0x1 - adds r1, r2, r0 - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080E9448 @ =0x00009f90 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - cmp r4, 0 - beq _080E9450 - ldr r1, _080E944C @ =0x00009f91 - adds r0, r2, r1 - adds r1, r4, 0 - movs r2, 0xF0 - movs r3, 0x2 - bl sub_8072C74 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl MenuPrint - b _080E9476 - .align 2, 0 -_080E943C: .4byte gWindowConfig_81E6D8C -_080E9440: .4byte gUnknown_083DB694 -_080E9444: .4byte 0x00009f8e -_080E9448: .4byte 0x00009f90 -_080E944C: .4byte 0x00009f91 -_080E9450: - ldr r0, _080E9484 @ =0x00009f91 - adds r1, r2, r0 - strb r3, [r1] - movs r0, 0x11 - strb r0, [r1, 0x1] - movs r0, 0x10 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x1C - movs r2, 0 - bl MenuPrint -_080E9476: - ldr r0, _080E9488 @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E9484: .4byte 0x00009f91 -_080E9488: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E9368 - - thumb_func_start sub_80E948C -sub_80E948C: @ 80E948C - push {lr} - sub sp, 0x10 - ldr r0, _080E94A8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bls _080E949C - b _080E9594 -_080E949C: - lsls r0, 2 - ldr r1, _080E94AC @ =_080E94B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E94A8: .4byte gUnknown_083DB694 -_080E94AC: .4byte _080E94B0 - .align 2, 0 -_080E94B0: - .4byte _080E9508 - .4byte _080E9530 - .4byte _080E9554 - .4byte _080E9578 - .4byte _080E94C8 - .4byte _080E94E8 -_080E94C8: - ldr r0, _080E94E0 @ =0x06006800 - ldr r3, _080E94E4 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x1A - str r1, [sp, 0x4] - movs r1, 0x18 - str r1, [sp, 0x8] - movs r1, 0x6 - str r1, [sp, 0xC] - movs r1, 0x3 - b _080E9568 - .align 2, 0 -_080E94E0: .4byte 0x06006800 -_080E94E4: .4byte gUnknown_08E94AD0 -_080E94E8: - ldr r0, _080E9500 @ =0x06006800 - ldr r3, _080E9504 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - movs r1, 0xD - str r1, [sp, 0x8] - movs r1, 0x8 - str r1, [sp, 0xC] - movs r1, 0xE - b _080E951E - .align 2, 0 -_080E9500: .4byte 0x06006800 -_080E9504: .4byte gUnknown_08E94AD0 -_080E9508: - ldr r0, _080E9528 @ =0x06006800 - ldr r3, _080E952C @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0x1A - str r1, [sp, 0x8] - movs r1, 0x8 - str r1, [sp, 0xC] - movs r1, 0x2 -_080E951E: - movs r2, 0x2 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E9528: .4byte 0x06006800 -_080E952C: .4byte gUnknown_08E94AD0 -_080E9530: - ldr r0, _080E954C @ =0x06006800 - ldr r3, _080E9550 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x1A - str r1, [sp, 0x8] - movs r1, 0xA - str r1, [sp, 0xC] - movs r1, 0x2 - movs r2, 0 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E954C: .4byte 0x06006800 -_080E9550: .4byte gUnknown_08E94AD0 -_080E9554: - ldr r0, _080E9570 @ =0x06006800 - ldr r3, _080E9574 @ =gUnknown_08E94AD0 - movs r2, 0xD - str r2, [sp] - movs r1, 0x12 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r1, 0x4 - str r1, [sp, 0xC] - movs r1, 0xE -_080E9568: - movs r2, 0x3 - bl sub_809D104 - b _080E9594 - .align 2, 0 -_080E9570: .4byte 0x06006800 -_080E9574: .4byte gUnknown_08E94AD0 -_080E9578: - ldr r0, _080E959C @ =0x06006800 - ldr r3, _080E95A0 @ =gUnknown_08E94AD0 - movs r1, 0 - str r1, [sp] - movs r1, 0x20 - str r1, [sp, 0x4] - movs r1, 0x18 - str r1, [sp, 0x8] - movs r1, 0x4 - str r1, [sp, 0xC] - movs r1, 0x3 - movs r2, 0x2 - bl sub_809D104 -_080E9594: - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_080E959C: .4byte 0x06006800 -_080E95A0: .4byte gUnknown_08E94AD0 - thumb_func_end sub_80E948C - - thumb_func_start sub_80E95A4 -sub_80E95A4: @ 80E95A4 - push {lr} - ldr r0, _080E95C0 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E95C4 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E9612 - lsls r0, 2 - ldr r1, _080E95C8 @ =_080E95CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E95C0: .4byte gWindowConfig_81E6D8C -_080E95C4: .4byte gUnknown_083DB694 -_080E95C8: .4byte _080E95CC - .align 2, 0 -_080E95CC: - .4byte _080E95F2 - .4byte _080E95F6 - .4byte _080E9600 - .4byte _080E960A - .4byte _080E95E4 - .4byte _080E95EE -_080E95E4: - movs r0, 0x4 - movs r1, 0x6 - bl sub_80E9620 - b _080E9612 -_080E95EE: - movs r0, 0x2 - b _080E9602 -_080E95F2: - movs r0, 0x3 - b _080E95F8 -_080E95F6: - movs r0, 0 -_080E95F8: - movs r1, 0x5 - bl sub_80E9620 - b _080E9612 -_080E9600: - movs r0, 0x4 -_080E9602: - movs r1, 0x11 - bl sub_80E9620 - b _080E9612 -_080E960A: - movs r0, 0x3 - movs r1, 0x6 - bl sub_80E9620 -_080E9612: - ldr r0, _080E961C @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_080E961C: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E95A4 - - thumb_func_start sub_80E9620 -sub_80E9620: @ 80E9620 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x14] - movs r1, 0 - mov r10, r1 - lsrs r7, r0, 16 - mov r9, r1 - ldr r0, _080E9644 @ =gUnknown_083DB694 - ldr r0, [r0] - b _080E971A - .align 2, 0 -_080E9644: .4byte gUnknown_083DB694 -_080E9648: - ldr r6, [sp, 0x14] - movs r2, 0 - mov r8, r2 - adds r0, r7, 0x2 - str r0, [sp, 0x1C] - mov r1, r9 - adds r1, 0x1 - str r1, [sp, 0x18] - b _080E96E4 -_080E965A: - mov r2, r10 - lsls r0, r2, 1 - adds r1, r5, 0 - adds r1, 0xC - adds r1, r0 - ldrh r0, [r1] - ldr r2, _080E9690 @ =0x0000ffff - cmp r0, r2 - bne _080E969C - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r1, 0x9 - str r1, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - ldr r0, _080E9694 @ =0x06007000 - adds r1, r6, 0 - adds r2, r7, 0 - ldr r3, _080E9698 @ =gUnknown_083DBE1C - bl sub_8095C8C - adds r0, r6, 0 - adds r0, 0xB - b _080E96CC - .align 2, 0 -_080E9690: .4byte 0x0000ffff -_080E9694: .4byte 0x06007000 -_080E9698: .4byte gUnknown_083DBE1C -_080E969C: - ldr r0, _080E9738 @ =0x00009e14 - adds r4, r5, r0 - ldrh r1, [r1] - adds r0, r4, 0 - movs r2, 0xB - bl sub_80EB218 - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl MenuPrint - mov r1, r9 - lsls r0, r1, 1 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x8C - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xB - ldrb r1, [r1] - adds r0, r1 -_080E96CC: - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080E96E4: - ldr r0, _080E973C @ =gUnknown_083DB694 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r8, r0 - bge _080E970A - ldrb r2, [r5, 0xA] - cmp r10, r2 - bcc _080E965A - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - ldr r0, _080E9740 @ =gUnknown_083DBEA8 - bl MenuPrint -_080E970A: - ldr r1, [sp, 0x1C] - lsls r0, r1, 16 - lsrs r7, r0, 16 - ldr r2, [sp, 0x18] - lsls r0, r2, 16 - lsrs r0, 16 - mov r9, r0 - adds r0, r5, 0 -_080E971A: - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r9, r0 - blt _080E9648 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9738: .4byte 0x00009e14 -_080E973C: .4byte gUnknown_083DB694 -_080E9740: .4byte gUnknown_083DBEA8 - thumb_func_end sub_80E9620 - - thumb_func_start sub_80E9744 -sub_80E9744: @ 80E9744 - push {lr} - ldr r0, _080E9760 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E9764 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E97B2 - lsls r0, 2 - ldr r1, _080E9768 @ =_080E976C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9760: .4byte gWindowConfig_81E6D8C -_080E9764: .4byte gUnknown_083DB694 -_080E9768: .4byte _080E976C - .align 2, 0 -_080E976C: - .4byte _080E9792 - .4byte _080E9796 - .4byte _080E97A0 - .4byte _080E97AA - .4byte _080E9784 - .4byte _080E978E -_080E9784: - movs r0, 0x4 - movs r1, 0x6 - bl sub_80E97C0 - b _080E97B2 -_080E978E: - movs r0, 0x2 - b _080E97A2 -_080E9792: - movs r0, 0x3 - b _080E9798 -_080E9796: - movs r0, 0 -_080E9798: - movs r1, 0x5 - bl sub_80E97C0 - b _080E97B2 -_080E97A0: - movs r0, 0x4 -_080E97A2: - movs r1, 0x11 - bl sub_80E97C0 - b _080E97B2 -_080E97AA: - movs r0, 0x3 - movs r1, 0x6 - bl sub_80E97C0 -_080E97B2: - ldr r0, _080E97BC @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_080E97BC: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E9744 - - thumb_func_start sub_80E97C0 -sub_80E97C0: @ 80E97C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r7, 0 - movs r3, 0 - ldr r1, _080E98B8 @ =gUnknown_083DB694 - ldr r0, [r1] - adds r0, 0x84 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r3, r0 - bge _080E98A6 -_080E97EA: - ldr r1, [r1] - ldr r0, _080E98BC @ =0x00009e6e - adds r2, r1, r0 - movs r6, 0 - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r4, [sp] - lsls r4, 24 - mov r8, r4 - lsls r4, r5, 24 - mov r9, r4 - adds r5, 0x2 - mov r10, r5 - adds r3, 0x1 - str r3, [sp, 0x4] - cmp r6, r0 - bge _080E985E - ldrb r1, [r1, 0xA] - cmp r7, r1 - bcs _080E985E - ldr r0, _080E98B8 @ =gUnknown_083DB694 - ldr r4, [r0] - ldr r5, _080E98C0 @ =0x0000ffff -_080E981E: - lsls r0, r7, 1 - adds r1, r4, 0 - adds r1, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, r5 - beq _080E983E - adds r1, r0, 0 - adds r0, r2, 0 - movs r2, 0 - bl sub_80EB218 - adds r2, r0, 0 - movs r0, 0 - strb r0, [r2] - adds r2, 0x1 -_080E983E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r0, 0x83 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - bge _080E985E - ldrb r0, [r4, 0xA] - cmp r7, r0 - bcc _080E981E -_080E985E: - ldr r1, _080E98B8 @ =gUnknown_083DB694 - ldr r4, [r1] - adds r0, r4, 0 - adds r0, 0x83 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xB - muls r1, r0 - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x13 - strb r0, [r2, 0x1] - lsls r1, 3 - strb r1, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r2, _080E98BC @ =0x00009e6e - adds r0, r4, r2 - mov r3, r8 - lsrs r1, r3, 24 - mov r3, r9 - lsrs r2, r3, 24 - bl MenuPrint - mov r1, r10 - lsls r0, r1, 16 - lsrs r5, r0, 16 - ldr r2, [sp, 0x4] - lsls r0, r2, 24 - lsrs r3, r0, 24 - ldr r1, _080E98B8 @ =gUnknown_083DB694 - adds r4, 0x84 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r3, r0 - blt _080E97EA -_080E98A6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E98B8: .4byte gUnknown_083DB694 -_080E98BC: .4byte 0x00009e6e -_080E98C0: .4byte 0x0000ffff - thumb_func_end sub_80E97C0 - - thumb_func_start sub_80E98C4 -sub_80E98C4: @ 80E98C4 - push {lr} - ldr r0, _080E98E0 @ =gWindowConfig_81E6D8C - bl BasicInitMenuWindow - ldr r0, _080E98E4 @ =gUnknown_083DB694 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x5 - bhi _080E9936 - lsls r0, 2 - ldr r1, _080E98E8 @ =_080E98EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E98E0: .4byte gWindowConfig_81E6D8C -_080E98E4: .4byte gUnknown_083DB694 -_080E98E8: .4byte _080E98EC - .align 2, 0 -_080E98EC: - .4byte _080E990A - .4byte _080E9910 - .4byte _080E9916 - .4byte _080E991A - .4byte _080E9904 - .4byte _080E990A -_080E9904: - movs r1, 0x4 - movs r3, 0x2 - b _080E991E -_080E990A: - movs r1, 0x3 - movs r3, 0x2 - b _080E991E -_080E9910: - movs r1, 0x1 - movs r3, 0x3 - b _080E991E -_080E9916: - movs r1, 0x4 - b _080E991C -_080E991A: - movs r1, 0x3 -_080E991C: - movs r3, 0x1 -_080E991E: - lsls r3, 1 - adds r3, r1, r3 - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - movs r2, 0x1B - bl MenuFillWindowRectWithBlankTile - ldr r0, _080E993C @ =gWindowConfig_81E6DA8 - bl BasicInitMenuWindow -_080E9936: - pop {r0} - bx r0 - .align 2, 0 -_080E993C: .4byte gWindowConfig_81E6DA8 - thumb_func_end sub_80E98C4 - - thumb_func_start sub_80E9940 -sub_80E9940: @ 80E9940 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - movs r4, 0x7 - ands r4, r5 - lsls r3, r4, 1 - adds r1, r3, 0 - adds r3, 0x1 - movs r0, 0x2 - movs r2, 0x1F - bl MenuFillWindowRectWithBlankTile - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80E9A7C - lsls r4, 1 - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_80E9A60 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E9940 - - thumb_func_start sub_80E9974 -sub_80E9974: @ 80E9974 - push {r4-r6,lr} - ldr r0, _080E99C4 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - ldr r0, _080E99C8 @ =gUnknown_083DB694 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E99D4 - ldr r1, _080E99CC @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 16 - lsrs r4, r1, 16 - adds r0, 0x4 - cmp r4, r0 - bge _080E9A08 - adds r5, r2, 0 - ldr r2, _080E99CC @ =0x000001b5 - adds r6, r5, r2 -_080E99A4: - lsls r1, r4, 24 - lsrs r1, 24 - ldr r2, _080E99D0 @ =0x00009dc9 - adds r0, r5, r2 - bl sub_80E9940 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - ldrsb r0, [r6, r0] - adds r0, 0x4 - cmp r4, r0 - blt _080E99A4 - b _080E9A08 - .align 2, 0 -_080E99C4: .4byte gWindowConfig_81E6D54 -_080E99C8: .4byte gUnknown_083DB694 -_080E99CC: .4byte 0x000001b5 -_080E99D0: .4byte 0x00009dc9 -_080E99D4: - bl sub_80E9AD4 - ldr r4, _080E9A10 @ =gUnknown_083DBEAC - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80E9A60 - adds r0, r4, 0 - adds r0, 0x20 - movs r1, 0x2 - movs r2, 0x2 - bl sub_80E9A60 - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x2 - movs r2, 0x4 - bl sub_80E9A60 - adds r4, 0x60 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x6 - bl sub_80E9A60 -_080E9A08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E9A10: .4byte gUnknown_083DBEAC - thumb_func_end sub_80E9974 - - thumb_func_start sub_80E9A14 -sub_80E9A14: @ 80E9A14 - push {lr} - bl sub_80E9A4C - ldr r0, _080E9A44 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _080E9A40 - movs r0, 0xDD - lsls r0, 1 - adds r2, r1, r0 - ldr r3, _080E9A48 @ =0x000001b5 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 4 - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] -_080E9A40: - pop {r0} - bx r0 - .align 2, 0 -_080E9A44: .4byte gUnknown_083DB694 -_080E9A48: .4byte 0x000001b5 - thumb_func_end sub_80E9A14 - - thumb_func_start sub_80E9A4C -sub_80E9A4C: @ 80E9A4C - ldr r0, _080E9A5C @ =gUnknown_083DB694 - ldr r0, [r0] - movs r2, 0xDD - lsls r2, 1 - adds r1, r0, r2 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080E9A5C: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9A4C - - thumb_func_start sub_80E9A60 -sub_80E9A60: @ 80E9A60 - push {lr} - lsls r2, 16 - movs r3, 0xF0 - lsls r3, 12 - ands r3, r2 - lsls r1, 24 - lsrs r1, 24 - lsrs r3, 16 - adds r2, r3, 0 - bl MenuPrint - pop {r0} - bx r0 - thumb_func_end sub_80E9A60 - - thumb_func_start sub_80E9A7C -sub_80E9A7C: @ 80E9A7C - push {r4-r7,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r0, r7, 17 - lsrs r5, r0, 16 - movs r4, 0 - ldr r0, _080E9AD0 @ =gUnknown_083DB694 - ldr r6, [r0] -_080E9A8E: - movs r0, 0xFC - strb r0, [r2] - movs r0, 0x12 - strb r0, [r2, 0x1] - movs r0, 0x58 - muls r0, r4 - strb r0, [r2, 0x2] - adds r2, 0x3 - lsls r1, r7, 1 - adds r1, r4, r1 - adds r0, r6, 0 - adds r0, 0x2A - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0xB - bl sub_80EAD64 - adds r2, r0, 0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r6, 0x28] - cmp r5, r0 - bcs _080E9ACA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080E9A8E -_080E9ACA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9AD0: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9A7C - - thumb_func_start sub_80E9AD4 -sub_80E9AD4: @ 80E9AD4 - push {r4,lr} - ldr r0, _080E9AF4 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - movs r4, 0 -_080E9ADE: - adds r0, r4, 0 - bl sub_80E9C74 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _080E9ADE - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E9AF4: .4byte gWindowConfig_81E6D54 - thumb_func_end sub_80E9AD4 - - thumb_func_start sub_80E9AF8 -sub_80E9AF8: @ 80E9AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r7, 0 - bl sub_80E9C74 - ldr r4, _080E9B7C @ =gUnknown_083DB694 - ldr r5, [r4] - ldr r0, _080E9B80 @ =0x00009e14 - adds r0, r5 - mov r8, r0 - movs r0, 0xFC - mov r1, r8 - strb r0, [r1] - movs r0, 0x11 - strb r0, [r1, 0x1] - movs r0, 0x10 - strb r0, [r1, 0x2] - ldr r2, _080E9B84 @ =0x00009e17 - adds r2, r5 - mov r8, r2 - adds r0, r5, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _080E9BF4 - movs r6, 0 - ldr r3, _080E9B88 @ =0x000099a6 - adds r0, r5, r3 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - blt _080E9B4A - b _080E9C52 -_080E9B4A: - lsls r0, r7, 2 - mov r9, r0 - ldr r1, _080E9B8C @ =0x00009a2a - adds r1, r5, r1 - str r1, [sp] - lsls r2, r7, 17 - mov r10, r2 -_080E9B58: - lsls r4, r6, 1 - mov r3, r9 - adds r0, r4, r3 - ldr r1, [sp] - adds r0, r1, r0 - ldrh r0, [r0] - bl sub_80EB2D4 - lsls r0, 16 - lsrs r0, 16 - adds r5, r4, 0 - cmp r0, 0x7 - bne _080E9B94 - ldr r0, _080E9B90 @ =gWindowConfig_81E6D70 - bl BasicInitMenuWindow - b _080E9B9A - .align 2, 0 -_080E9B7C: .4byte gUnknown_083DB694 -_080E9B80: .4byte 0x00009e14 -_080E9B84: .4byte 0x00009e17 -_080E9B88: .4byte 0x000099a6 -_080E9B8C: .4byte 0x00009a2a -_080E9B90: .4byte gWindowConfig_81E6D70 -_080E9B94: - ldr r0, _080E9BE0 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow -_080E9B9A: - ldr r2, _080E9BE4 @ =gUnknown_083DB694 - ldr r4, [r2] - mov r3, r9 - adds r1, r5, r3 - ldr r2, _080E9BE8 @ =0x00009a2a - adds r0, r4, r2 - adds r0, r1 - ldrh r1, [r0] - mov r0, r8 - movs r2, 0x9 - bl sub_80EB218 - ldr r3, _080E9BEC @ =0x00009e14 - adds r0, r4, r3 - movs r1, 0xB - muls r1, r6 - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - mov r3, r10 - lsrs r2, r3, 16 - bl sub_80E9A60 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _080E9BF0 @ =0x000099a6 - adds r4, r0 - adds r4, r7 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r6, r0 - blt _080E9B58 - b _080E9C52 - .align 2, 0 -_080E9BE0: .4byte gWindowConfig_81E6D54 -_080E9BE4: .4byte gUnknown_083DB694 -_080E9BE8: .4byte 0x00009a2a -_080E9BEC: .4byte 0x00009e14 -_080E9BF0: .4byte 0x000099a6 -_080E9BF4: - ldr r0, _080E9C64 @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - movs r6, 0 - ldr r1, _080E9C68 @ =0x000099a6 - adds r0, r5, r1 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r6, r0 - bge _080E9C52 - adds r4, r5, 0 - adds r0, r4, r1 - adds r0, r7 - mov r9, r0 - lsls r5, r7, 17 -_080E9C16: - lsls r1, r6, 1 - lsls r0, r7, 2 - adds r1, r0 - ldr r2, _080E9C6C @ =0x00009a2a - adds r0, r4, r2 - adds r0, r1 - ldrh r1, [r0] - mov r0, r8 - movs r2, 0x9 - bl sub_80EB218 - movs r0, 0xB - adds r1, r6, 0 - muls r1, r0 - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _080E9C70 @ =0x00009e14 - adds r0, r4, r3 - lsrs r2, r5, 16 - bl sub_80E9A60 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r9 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r6, r0 - blt _080E9C16 -_080E9C52: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9C64: .4byte gWindowConfig_81E6D54 -_080E9C68: .4byte 0x000099a6 -_080E9C6C: .4byte 0x00009a2a -_080E9C70: .4byte 0x00009e14 - thumb_func_end sub_80E9AF8 - - thumb_func_start sub_80E9C74 -sub_80E9C74: @ 80E9C74 - push {lr} - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - lsrs r1, 16 - lsls r3, r1, 1 - adds r1, r3, 0 - adds r3, 0x1 - movs r0, 0 - movs r2, 0x1D - bl MenuFillWindowRectWithBlankTile - pop {r0} - bx r0 - thumb_func_end sub_80E9C74 - - thumb_func_start sub_80E9C94 -sub_80E9C94: @ 80E9C94 - push {r4-r6,lr} - ldr r0, _080E9CAC @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r2, _080E9CB0 @ =0x00009a28 - adds r1, r0, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x3 - bgt _080E9CB4 - lsls r0, 16 - lsrs r0, 16 - b _080E9CB6 - .align 2, 0 -_080E9CAC: .4byte gUnknown_083DB694 -_080E9CB0: .4byte 0x00009a28 -_080E9CB4: - movs r0, 0x4 -_080E9CB6: - adds r5, r0, 0 - movs r4, 0 - cmp r4, r5 - bcs _080E9CF4 - ldr r0, _080E9CE0 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080E9CE4 @ =0x00009a29 - adds r6, r0, r1 -_080E9CC6: - movs r0, 0 - ldrsb r0, [r6, r0] - adds r0, r4, r0 - lsls r0, 16 - lsrs r0, 16 - bl sub_80E9AF8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bcc _080E9CC6 - b _080E9CF4 - .align 2, 0 -_080E9CE0: .4byte gUnknown_083DB694 -_080E9CE4: .4byte 0x00009a29 -_080E9CE8: - adds r0, r4, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r4, r1, 16 - bl sub_80E9C74 -_080E9CF4: - cmp r4, 0x3 - bls _080E9CE8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E9C94 - - thumb_func_start sub_80E9D00 -sub_80E9D00: @ 80E9D00 - push {r4-r6,lr} - ldr r0, _080E9D28 @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080E9D30 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _080E9D2C @ =0x00009a29 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 - b _080E9D46 - .align 2, 0 -_080E9D28: .4byte gUnknown_083DB694 -_080E9D2C: .4byte 0x00009a29 -_080E9D30: - movs r0, 0 - ldrsb r0, [r1, r0] - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _080E9D74 @ =0x00009a29 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, r4 -_080E9D46: - lsls r0, 16 - lsrs r5, r0, 16 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080E9D78 @ =0x0000ffff - cmp r4, r0 - beq _080E9D6E - adds r6, r0, 0 -_080E9D58: - adds r0, r5, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r5, r1, 16 - bl sub_80E9AF8 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r6 - bne _080E9D58 -_080E9D6E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E9D74: .4byte 0x00009a29 -_080E9D78: .4byte 0x0000ffff - thumb_func_end sub_80E9D00 - - thumb_func_start sub_80E9D7C -sub_80E9D7C: @ 80E9D7C - push {r4-r7,lr} - ldr r0, _080E9DAC @ =gWindowConfig_81E6D54 - bl BasicInitMenuWindow - ldr r0, _080E9DB0 @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xE0 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _080E9DB8 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _080E9DB4 @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r0, r6 - b _080E9DCC - .align 2, 0 -_080E9DAC: .4byte gWindowConfig_81E6D54 -_080E9DB0: .4byte gUnknown_083DB694 -_080E9DB4: .4byte 0x000001b5 -_080E9DB8: - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _080E9DFC @ =0x000001b5 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, 0x4 -_080E9DCC: - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0 - cmp r5, r6 - bcs _080E9DF6 - ldr r0, _080E9E00 @ =gUnknown_083DB694 - ldr r7, [r0] -_080E9DDA: - lsls r1, r4, 24 - lsrs r1, 24 - ldr r2, _080E9E04 @ =0x00009dc9 - adds r0, r7, r2 - bl sub_80E9940 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r6 - bcc _080E9DDA -_080E9DF6: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E9DFC: .4byte 0x000001b5 -_080E9E00: .4byte gUnknown_083DB694 -_080E9E04: .4byte 0x00009dc9 - thumb_func_end sub_80E9D7C - - thumb_func_start sub_80E9E08 -sub_80E9E08: @ 80E9E08 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E9E4C @ =gUnknown_083DB694 - ldr r3, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r1, r3, r0 - movs r5, 0xE0 - lsls r5, 1 - adds r2, r3, r5 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 4 - ldrh r1, [r1] - adds r0, r1 - movs r1, 0x7F - ands r0, r1 - subs r5, 0x4 - adds r1, r3, r5 - strh r0, [r1] - adds r1, r4, 0 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - bge _080E9E3E - negs r1, r4 -_080E9E3E: - ldr r2, _080E9E50 @ =0x000001bf - adds r0, r3, r2 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E9E4C: .4byte gUnknown_083DB694 -_080E9E50: .4byte 0x000001bf - thumb_func_end sub_80E9E08 - - thumb_func_start sub_80E9E54 -sub_80E9E54: @ 80E9E54 - push {r4,lr} - ldr r0, _080E9E8C @ =gUnknown_083DB694 - ldr r2, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r3, r2, r0 - ldr r1, _080E9E90 @ =0x000001bf - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r4, [r3] - adds r0, r4 - movs r1, 0x7F - ands r0, r1 - strh r0, [r3] - movs r3, 0 - movs r4, 0xDE - lsls r4, 1 - adds r1, r2, r4 - ldrh r1, [r1] - cmp r0, r1 - bne _080E9E84 - movs r3, 0x1 -_080E9E84: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E9E8C: .4byte gUnknown_083DB694 -_080E9E90: .4byte 0x000001bf - thumb_func_end sub_80E9E54 - - thumb_func_start nullsub_23 -nullsub_23: @ 80E9E94 - bx lr - thumb_func_end nullsub_23 - - thumb_func_start sub_80E9E98 -sub_80E9E98: @ 80E9E98 - ldr r0, _080E9EA4 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - movs r1, 0 - strh r1, [r0] - bx lr - .align 2, 0 -_080E9EA4: .4byte gUnknown_083DB694 - thumb_func_end sub_80E9E98 - - thumb_func_start sub_80E9EA8 -sub_80E9EA8: @ 80E9EA8 - push {lr} - ldr r1, _080E9EC4 @ =gUnknown_083DB694 - ldr r0, [r1] - adds r0, 0xBE - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bhi _080E9F48 - lsls r0, 2 - ldr r1, _080E9EC8 @ =_080E9ECC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9EC4: .4byte gUnknown_083DB694 -_080E9EC8: .4byte _080E9ECC - .align 2, 0 -_080E9ECC: - .4byte _080E9EE4 - .4byte _080E9EF4 - .4byte _080E9F0C - .4byte _080E9F24 - .4byte _080E9F38 - .4byte _080E9F44 -_080E9EE4: - bl sub_80EA24C - ldr r0, _080E9F08 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080E9EF4: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - bl sub_80EA4A4 - ldr r0, _080E9F08 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F08: .4byte gUnknown_083DB694 -_080E9F0C: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - bl sub_80EA704 - ldr r0, _080E9F20 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F20: .4byte gUnknown_083DB694 -_080E9F24: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9F48 - ldr r0, _080E9F34 @ =gUnknown_083DB694 - ldr r1, [r0] - b _080E9F3A - .align 2, 0 -_080E9F34: .4byte gUnknown_083DB694 -_080E9F38: - ldr r1, [r2] -_080E9F3A: - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080E9F48 -_080E9F44: - movs r0, 0x1 - b _080E9F4A -_080E9F48: - movs r0, 0 -_080E9F4A: - pop {r1} - bx r1 - thumb_func_end sub_80E9EA8 - - thumb_func_start sub_80E9F50 -sub_80E9F50: @ 80E9F50 - push {lr} - ldr r0, _080E9F68 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x6 - bhi _080E9FCC - lsls r0, 2 - ldr r1, _080E9F6C @ =_080E9F70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E9F68: .4byte gUnknown_083DB694 -_080E9F6C: .4byte _080E9F70 - .align 2, 0 -_080E9F70: - .4byte _080E9F8C - .4byte _080E9FAC - .4byte _080E9F96 - .4byte _080E9FAC - .4byte _080E9F9C - .4byte _080E9FAC - .4byte _080E9FC8 -_080E9F8C: - bl nullsub_23 - bl sub_80EA764 - b _080E9FA0 -_080E9F96: - bl sub_80EA5A0 - b _080E9FA0 -_080E9F9C: - bl sub_80EA348 -_080E9FA0: - ldr r0, _080E9FC4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080E9FAC: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080E9FCC - ldr r0, _080E9FC4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080E9FCC - .align 2, 0 -_080E9FC4: .4byte gUnknown_083DB694 -_080E9FC8: - movs r0, 0x1 - b _080E9FCE -_080E9FCC: - movs r0, 0 -_080E9FCE: - pop {r1} - bx r1 - thumb_func_end sub_80E9F50 - - thumb_func_start sub_80E9FD4 -sub_80E9FD4: @ 80E9FD4 - push {r4,lr} - ldr r0, _080E9FEC @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0 - beq _080E9FF0 - cmp r0, 0x1 - beq _080E9FFE - b _080EA00C - .align 2, 0 -_080E9FEC: .4byte gUnknown_083DB694 -_080E9FF0: - bl nullsub_23 - bl sub_80EA5A0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080E9FFE: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA00C - movs r0, 0x1 - b _080EA00E -_080EA00C: - movs r0, 0 -_080EA00E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E9FD4 - - thumb_func_start sub_80EA014 -sub_80EA014: @ 80EA014 - push {r4,lr} - ldr r0, _080EA02C @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0 - beq _080EA030 - cmp r0, 0x1 - beq _080EA03A - b _080EA048 - .align 2, 0 -_080EA02C: .4byte gUnknown_083DB694 -_080EA030: - bl sub_80EA4A4 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080EA03A: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA048 - movs r0, 0x1 - b _080EA04A -_080EA048: - movs r0, 0 -_080EA04A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80EA014 - - thumb_func_start sub_80EA050 -sub_80EA050: @ 80EA050 - push {lr} - ldr r0, _080EA068 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080EA0DC - lsls r0, 2 - ldr r1, _080EA06C @ =_080EA070 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EA068: .4byte gUnknown_083DB694 -_080EA06C: .4byte _080EA070 - .align 2, 0 -_080EA070: - .4byte _080EA084 - .4byte _080EA08E - .4byte _080EA09E - .4byte _080EA0B4 - .4byte _080EA0D8 -_080EA084: - bl nullsub_23 - bl sub_80EA764 - b _080EA0C4 -_080EA08E: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC - bl sub_80EA7F4 - b _080EA0C4 -_080EA09E: - movs r0, 0x1 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC - bl sub_80EA8BC - b _080EA0C4 -_080EA0B4: - movs r0, 0x1 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA0DC -_080EA0C4: - ldr r0, _080EA0D4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA0DC - .align 2, 0 -_080EA0D4: .4byte gUnknown_083DB694 -_080EA0D8: - movs r0, 0x1 - b _080EA0DE -_080EA0DC: - movs r0, 0 -_080EA0DE: - pop {r1} - bx r1 - thumb_func_end sub_80EA050 - - thumb_func_start sub_80EA0E4 -sub_80EA0E4: @ 80EA0E4 - push {lr} - ldr r0, _080EA0FC @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBE - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080EA17C - lsls r0, 2 - ldr r1, _080EA100 @ =_080EA104 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EA0FC: .4byte gUnknown_083DB694 -_080EA100: .4byte _080EA104 - .align 2, 0 -_080EA104: - .4byte _080EA118 - .4byte _080EA128 - .4byte _080EA144 - .4byte _080EA15C - .4byte _080EA178 -_080EA118: - bl sub_80EA948 - ldr r0, _080EA140 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EA128: - movs r0, 0x1 - negs r0, r0 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C - bl sub_80EAA44 - b _080EA166 - .align 2, 0 -_080EA140: .4byte gUnknown_083DB694 -_080EA144: - movs r0, 0x1 - negs r0, r0 - bl sub_80E9108 - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C - bl sub_80EA704 - b _080EA166 -_080EA15C: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA17C -_080EA166: - ldr r0, _080EA174 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA17C - .align 2, 0 -_080EA174: .4byte gUnknown_083DB694 -_080EA178: - movs r0, 0x1 - b _080EA17E -_080EA17C: - movs r0, 0 -_080EA17E: - pop {r1} - bx r1 - thumb_func_end sub_80EA0E4 - - thumb_func_start sub_80EA184 -sub_80EA184: @ 80EA184 - push {r4,lr} - ldr r0, _080EA1A0 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0xBE - ldrh r0, [r4] - cmp r0, 0x1 - beq _080EA1B4 - cmp r0, 0x1 - bgt _080EA1A4 - cmp r0, 0 - beq _080EA1AA - b _080EA1D8 - .align 2, 0 -_080EA1A0: .4byte gUnknown_083DB694 -_080EA1A4: - cmp r0, 0x2 - beq _080EA1D0 - b _080EA1D8 -_080EA1AA: - bl sub_80EAAD4 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080EA1B4: - bl sub_80EA1E0 - lsls r0, 24 - cmp r0, 0 - beq _080EA1D8 - ldr r0, _080EA1CC @ =gUnknown_083DB694 - ldr r1, [r0] - adds r1, 0xBE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EA1D8 - .align 2, 0 -_080EA1CC: .4byte gUnknown_083DB694 -_080EA1D0: - bl sub_80E9178 - movs r0, 0x1 - b _080EA1DA -_080EA1D8: - movs r0, 0 -_080EA1DA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80EA184 - - thumb_func_start sub_80EA1E0 -sub_80EA1E0: @ 80EA1E0 - push {r4-r6,lr} - ldr r0, _080EA240 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xC4 - ldrh r0, [r0] - cmp r0, 0 - beq _080EA244 - movs r4, 0 - adds r0, r1, 0 - adds r0, 0xC2 - ldrh r2, [r0] - cmp r4, r2 - bcs _080EA228 - adds r5, r1, 0 - adds r6, r0, 0 -_080EA200: - lsls r0, r4, 4 - adds r0, 0xC8 - adds r0, r5, r0 - bl sub_80EAC0C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r5, r0 - bl sub_80EAC48 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r2, [r6] - cmp r4, r2 - bcc _080EA200 -_080EA228: - ldr r0, _080EA240 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xBC - movs r0, 0x1 - strb r0, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _080EA246 - .align 2, 0 -_080EA240: .4byte gUnknown_083DB694 -_080EA244: - movs r0, 0x1 -_080EA246: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80EA1E0 - - thumb_func_start sub_80EA24C -sub_80EA24C: @ 80EA24C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA340 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - ldr r1, _080EA344 @ =0x0000fffe - mov r8, r1 - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xD - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - mov r9, r1 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0xC - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x1E - movs r2, 0 - mov r3, r8 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r6, 0x10 - str r6, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xD - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r9 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0xC - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x1E - movs r2, 0x9 - mov r3, r8 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA340: .4byte gUnknown_083DB694 -_080EA344: .4byte 0x0000fffe - thumb_func_end sub_80EA24C - - thumb_func_start sub_80EA348 -sub_80EA348: @ 80EA348 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA49C @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r5, 0xF - str r5, [sp] - movs r1, 0x2 - mov r9, r1 - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r6, r7, r1 - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, _080EA4A0 @ =0x0000fffe - mov r8, r1 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0x2 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r5, 0x10 - str r5, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x9 - movs r3, 0x2 - bl sub_80EAC30 - movs r1, 0x84 - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r1, r9 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0x1 - bl sub_80EABD4 - movs r1, 0xBC - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x50 - adds r6, r7, r1 - str r6, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r6, [sp, 0x4] - movs r1, 0x18 - movs r2, 0xE - mov r3, r8 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xC2 - movs r1, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA49C: .4byte gUnknown_083DB694 -_080EA4A0: .4byte 0x0000fffe - thumb_func_end sub_80EA348 - - thumb_func_start sub_80EA4A4 -sub_80EA4A4: @ 80EA4A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA598 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _080EA59C @ =0x0000ffff - mov r8, r1 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xE - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xE - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0x10 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r6, 0x1 - str r6, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x9 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xC2 - movs r1, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA598: .4byte gUnknown_083DB694 -_080EA59C: .4byte 0x0000ffff - thumb_func_end sub_80EA4A4 - - thumb_func_start sub_80EA5A0 -sub_80EA5A0: @ 80EA5A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EA6FC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0xF - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r1, 0x1 - mov r8, r1 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r2, 0xA - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0xC - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0x14 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - ldr r6, _080EA700 @ =0x0000ffff - str r6, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0xD - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r1, 0xC - movs r2, 0xF - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - movs r1, 0x12 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x84 - lsls r1, 1 - adds r0, r7, r1 - movs r1, 0xA - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - mov r1, r8 - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xBC - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x50 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x14 - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r7, r1 - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x14 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x6 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x4 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA6FC: .4byte gUnknown_083DB694 -_080EA700: .4byte 0x0000ffff - thumb_func_end sub_80EA5A0 - - thumb_func_start sub_80EA704 -sub_80EA704: @ 80EA704 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EA75C @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r1, 0x14 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r5, 0x1 - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xC - movs r3, 0x19 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - ldr r3, _080EA760 @ =0x0000ffff - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x5 - movs r2, 0xA - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xC2 - strh r5, [r0] - adds r1, r6, 0 - adds r1, 0xC4 - movs r0, 0x5 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EA75C: .4byte gUnknown_083DB694 -_080EA760: .4byte 0x0000ffff - thumb_func_end sub_80EA704 - - thumb_func_start sub_80EA764 -sub_80EA764: @ 80EA764 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, _080EA7EC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r5, _080EA7F0 @ =0x0000ffff - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xC - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1E - movs r2, 0xC - movs r3, 0x1F - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0x1E - movs r2, 0xC - adds r3, r5, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6 - strh r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA7EC: .4byte gUnknown_083DB694 -_080EA7F0: .4byte 0x0000ffff - thumb_func_end sub_80EA764 - - thumb_func_start sub_80EA7F4 -sub_80EA7F4: @ 80EA7F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r0, _080EA8B4 @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r5, 0x1 - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x14 - movs r2, 0xA - movs r3, 0x19 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - ldr r3, _080EA8B8 @ =0x0000ffff - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r2, r7 - mov r8, r2 - str r2, [sp, 0x4] - movs r1, 0x19 - movs r2, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r7, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r2, 0xA - movs r3, 0x4 - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r2, r8 - str r2, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x3 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - strh r0, [r1] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EA8B4: .4byte gUnknown_083DB694 -_080EA8B8: .4byte 0x0000ffff - thumb_func_end sub_80EA7F4 - - thumb_func_start sub_80EA8BC -sub_80EA8BC: @ 80EA8BC - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EA944 @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r5, 0x14 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x3 - movs r2, 0xA - movs r3, 0x4 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x2 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r1, r6, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EA944: .4byte gUnknown_083DB694 - thumb_func_end sub_80EA8BC - - thumb_func_start sub_80EA948 -sub_80EA948: @ 80EA948 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EAA3C @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r6, 0x14 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r5, _080EAA40 @ =0x0000ffff - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x2 - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x80 - adds r1, r7 - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x3 - movs r2, 0xA - movs r3, 0x5 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r1, r7 - mov r8, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1A - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r1, r9 - str r1, [sp, 0x4] - movs r1, 0x1A - movs r2, 0xA - adds r3, r5, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x19 - movs r2, 0xA - movs r3, 0x1A - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0x1D - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EAA3C: .4byte gUnknown_083DB694 -_080EAA40: .4byte 0x0000ffff - thumb_func_end sub_80EA948 - - thumb_func_start sub_80EAA44 -sub_80EAA44: @ 80EAA44 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _080EAACC @ =gUnknown_083DB694 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0xC8 - movs r5, 0x14 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x18 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x18 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r6, 0 - adds r0, 0xD8 - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, _080EAAD0 @ =0x0000ffff - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x17 - movs r2, 0xA - movs r3, 0x18 - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r6, r1 - str r4, [sp] - movs r2, 0xD9 - lsls r2, 3 - adds r1, r6, r2 - str r1, [sp, 0x4] - movs r1, 0x1D - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r1, r6, 0 - adds r1, 0xC2 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1 - strh r0, [r1] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EAACC: .4byte gUnknown_083DB694 -_080EAAD0: .4byte 0x0000ffff - thumb_func_end sub_80EAA44 - - thumb_func_start sub_80EAAD4 -sub_80EAAD4: @ 80EAAD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - ldr r0, _080EABCC @ =gUnknown_083DB694 - ldr r7, [r0] - adds r0, r7, 0 - adds r0, 0xC8 - movs r1, 0xF - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r5, 0x1 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - movs r1, 0xD9 - lsls r1, 3 - adds r1, r7 - mov r8, r1 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xD8 - movs r1, 0x14 - mov r9, r1 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - ldr r6, _080EABD0 @ =0x0000ffff - str r6, [sp, 0x10] - movs r1, 0 - movs r2, 0xF - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xAA - lsls r1, 1 - adds r0, r7, r1 - str r5, [sp] - mov r1, r8 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0x5 - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xE8 - movs r1, 0xA - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r5, [sp, 0x10] - movs r1, 0 - movs r2, 0xA - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB0 - lsls r1, 1 - adds r0, r7, r1 - str r4, [sp] - adds r1, 0x68 - adds r5, r7, r1 - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0xA - movs r3, 0 - bl sub_80EAC30 - adds r0, r7, 0 - adds r0, 0xF8 - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - str r6, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - movs r2, 0x14 - movs r3, 0x1E - bl sub_80EABD4 - movs r1, 0xB6 - lsls r1, 1 - adds r0, r7, r1 - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0 - movs r2, 0x14 - movs r3, 0 - bl sub_80EAC30 - adds r1, r7, 0 - adds r1, 0xC2 - movs r0, 0x4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5 - strh r0, [r1] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EABCC: .4byte gUnknown_083DB694 -_080EABD0: .4byte 0x0000ffff - thumb_func_end sub_80EAAD4 - - thumb_func_start sub_80EABD4 -sub_80EABD4: @ 80EABD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r5, [sp, 0x1C] - ldr r6, [sp, 0x20] - ldr r4, [sp, 0x24] - mov r9, r4 - ldr r4, [sp, 0x28] - ldr r7, [sp, 0x2C] - mov r8, r7 - strh r1, [r0] - strh r3, [r0, 0x2] - strh r2, [r0, 0x4] - strh r5, [r0, 0x6] - strh r6, [r0, 0x8] - strh r4, [r0, 0xA] - mov r1, r9 - strh r1, [r0, 0xC] - mov r4, r8 - strh r4, [r0, 0xE] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80EABD4 - - thumb_func_start sub_80EAC0C -sub_80EAC0C: @ 80EAC0C - ldrh r1, [r0, 0x8] - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] - ldrh r1, [r0, 0xA] - ldrh r2, [r0, 0x2] - adds r1, r2 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0xC] - ldrh r2, [r0, 0x4] - adds r1, r2 - strh r1, [r0, 0x4] - ldrh r1, [r0, 0xE] - ldrh r2, [r0, 0x6] - adds r1, r2 - strh r1, [r0, 0x6] - bx lr - thumb_func_end sub_80EAC0C - - thumb_func_start sub_80EAC30 -sub_80EAC30: @ 80EAC30 - push {r4,r5,lr} - ldr r4, [sp, 0xC] - ldr r5, [sp, 0x10] - strh r1, [r0] - strh r2, [r0, 0x2] - strh r3, [r0, 0x4] - strh r4, [r0, 0x6] - str r5, [r0, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80EAC30 - - thumb_func_start sub_80EAC48 -sub_80EAC48: @ 80EAC48 - ldrh r1, [r0, 0x4] - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] - ldrh r1, [r0, 0x6] - ldrh r2, [r0, 0x2] - adds r1, r2 - strh r1, [r0, 0x2] - bx lr - thumb_func_end sub_80EAC48 - - thumb_func_start sub_80EAC5C -sub_80EAC5C: @ 80EAC5C - push {r4-r6,lr} - ldr r0, _080EACB4 @ =gUnknown_083DB694 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xBC - ldrb r0, [r0] - cmp r0, 0 - beq _080EACAC - movs r4, 0 - adds r0, r1, 0 - adds r0, 0xC2 - ldrh r2, [r0] - cmp r4, r2 - bcs _080EACA2 - adds r5, r1, 0 - adds r6, r0, 0 -_080EAC7C: - lsls r1, r4, 4 - adds r1, 0xC8 - adds r1, r5, r1 - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - movs r0, 0xA4 - lsls r0, 1 - adds r2, r0 - adds r2, r5, r2 - ldr r0, _080EACB8 @ =0x06006800 - bl sub_80EACBC - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r2, [r6] - cmp r4, r2 - bcc _080EAC7C -_080EACA2: - ldr r0, _080EACB4 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, 0xBC - movs r1, 0 - strb r1, [r0] -_080EACAC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EACB4: .4byte gUnknown_083DB694 -_080EACB8: .4byte 0x06006800 - thumb_func_end sub_80EAC5C - - thumb_func_start sub_80EACBC -sub_80EACBC: @ 80EACBC - push {r4-r7,lr} - sub sp, 0x10 - adds r7, r0, 0 - adds r3, r1, 0 - adds r4, r2, 0 - ldrh r2, [r3, 0x2] - ldrh r0, [r3] - subs r2, r0 - ldrh r0, [r3, 0x6] - ldrh r1, [r3, 0x4] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - lsls r6, r2, 16 - cmp r6, 0 - ble _080EACFE - lsls r5, r0, 16 - cmp r5, 0 - ble _080EACFE - ldrh r1, [r3] - ldrh r2, [r3, 0x4] - ldr r3, [r4, 0x8] - ldrh r0, [r4] - str r0, [sp] - ldrh r0, [r4, 0x2] - str r0, [sp, 0x4] - lsrs r0, r6, 16 - str r0, [sp, 0x8] - lsrs r0, r5, 16 - str r0, [sp, 0xC] - adds r0, r7, 0 - bl sub_809D104 -_080EACFE: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80EACBC - - thumb_func_start sub_80EAD08 -sub_80EAD08: @ 80EAD08 - push {r4,r5,lr} - ldr r0, _080EAD58 @ =gUnknown_03004DC0 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _080EAD5C @ =gUnknown_03004DE0 - adds r4, r0, r1 - adds r4, 0xB0 - ldr r0, _080EAD60 @ =gUnknown_083DB694 - ldr r1, [r0] - movs r0, 0xDD - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - adds r2, r0, 0 - subs r2, 0x58 - movs r0, 0xFF - ands r2, r0 - movs r3, 0 - movs r5, 0xFF -_080EAD32: - ldrh r0, [r1] - adds r0, r3 - cmp r0, 0x80 - bne _080EAD42 - negs r0, r3 - adds r2, r0, 0 - subs r2, 0x58 - ands r2, r5 -_080EAD42: - strh r2, [r4] - adds r4, 0x2 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3F - bls _080EAD32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EAD58: .4byte gUnknown_03004DC0 -_080EAD5C: .4byte gUnknown_03004DE0 -_080EAD60: .4byte gUnknown_083DB694 - thumb_func_end sub_80EAD08 - - thumb_func_start sub_80EAD64 -sub_80EAD64: @ 80EAD64 - push {lr} - lsls r1, 24 - ldr r2, _080EAD78 @ =gEasyChatGroupNames - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r1} - bx r1 - .align 2, 0 -_080EAD78: .4byte gEasyChatGroupNames - thumb_func_end sub_80EAD64 - - thumb_func_start sub_80EAD7C -sub_80EAD7C: @ 80EAD7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x14 - beq _080EADA2 - cmp r0, 0x14 - bgt _080EAD9C - cmp r0, 0x11 - blt _080EADBA - ldr r0, _080EAD98 @ =0x00000804 - bl FlagGet - b _080EADB4 - .align 2, 0 -_080EAD98: .4byte 0x00000804 -_080EAD9C: - cmp r1, 0x15 - beq _080EADB0 - b _080EADBA -_080EADA2: - ldr r0, _080EADAC @ =0x00000806 - bl FlagGet - b _080EADB4 - .align 2, 0 -_080EADAC: .4byte 0x00000806 -_080EADB0: - bl sub_80EB9C8 -_080EADB4: - lsls r0, 24 - lsrs r0, 24 - b _080EADBC -_080EADBA: - movs r0, 0x1 -_080EADBC: - pop {r1} - bx r1 - thumb_func_end sub_80EAD7C - - thumb_func_start sub_80EADC0 -sub_80EADC0: @ 80EADC0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - cmp r2, 0x15 - bhi _080EAE82 - lsls r0, r2, 2 - ldr r1, _080EADD8 @ =_080EADDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EADD8: .4byte _080EADDC - .align 2, 0 -_080EADDC: - .4byte _080EAE50 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE82 - .4byte _080EAE62 - .4byte _080EAE62 - .4byte _080EAE62 - .4byte _080EAE34 - .4byte _080EAE78 -_080EAE34: - ldr r0, _080EAE4C @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, r2 - adds r0, 0x67 - ldrb r0, [r0] - cmp r0, 0 - beq _080EAE70 - lsls r0, r3, 24 - lsrs r0, 24 - bl sub_80EB868 - b _080EAE7C - .align 2, 0 -_080EAE4C: .4byte gUnknown_083DB694 -_080EAE50: - adds r0, r3, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl GetSetPokedexFlag - b _080EAE7C -_080EAE62: - ldr r0, _080EAE74 @ =gUnknown_083DB694 - ldr r0, [r0] - adds r0, r2 - adds r0, 0x67 - ldrb r0, [r0] - cmp r0, 0 - bne _080EAE82 -_080EAE70: - movs r0, 0 - b _080EAE84 - .align 2, 0 -_080EAE74: .4byte gUnknown_083DB694 -_080EAE78: - bl sub_80EB9C8 -_080EAE7C: - lsls r0, 24 - lsrs r0, 24 - b _080EAE84 -_080EAE82: - movs r0, 0x1 -_080EAE84: - pop {r1} - bx r1 - thumb_func_end sub_80EADC0 - - thumb_func_start sub_80EAE88 -sub_80EAE88: @ 80EAE88 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080EAEA6 - cmp r4, 0x14 - beq _080EAEB2 - adds r0, r4, 0 - bl sub_80EAD7C - lsls r0, 24 - cmp r0, 0 - bne _080EAEBC - movs r0, 0 - b _080EAEC2 -_080EAEA6: - movs r0, 0 - bl GetHoennPokedexCount - lsls r0, 16 - lsrs r0, 16 - b _080EAEC2 -_080EAEB2: - bl sub_80EB8C0 - lsls r0, 24 - lsrs r0, 24 - b _080EAEC2 -_080EAEBC: - ldr r0, _080EAEC8 @ =gEasyChatGroupSizes - adds r0, r4, r0 - ldrb r0, [r0] -_080EAEC2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080EAEC8: .4byte gEasyChatGroupSizes - thumb_func_end sub_80EAE88 - - thumb_func_start sub_80EAECC -sub_80EAECC: @ 80EAECC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r0, 0 - mov r8, r0 - ldr r1, _080EAF10 @ =gUnknown_083DB694 - ldr r0, [r1] - ldr r3, _080EAF14 @ =0x00004142 - adds r3, r0, r3 - str r3, [sp, 0x4] -_080EAEE6: - ldr r1, _080EAF18 @ =gEasyChatWordsByLetter - mov r7, r8 - lsls r2, r7, 1 - adds r0, r2, r1 - ldrh r4, [r0] - mov r3, r8 - adds r3, 0x1 - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - str r0, [sp] - ldr r0, [sp, 0x4] - adds r1, r0, r2 - movs r0, 0 - strh r0, [r1] - mov r9, r0 - adds r6, r4, 0 - mov r10, r2 - str r3, [sp, 0x8] - b _080EB00C - .align 2, 0 -_080EAF10: .4byte gUnknown_083DB694 -_080EAF14: .4byte 0x00004142 -_080EAF18: .4byte gEasyChatWordsByLetter -_080EAF1C: - ldr r2, _080EAFB0 @ =gEasyChatWordsAlphabetized - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r4, r1, 0 - ldr r0, _080EAFB4 @ =0x0000feff - cmp r1, r0 - bls _080EAFCC - movs r0, 0xFF - ands r1, r0 - movs r7, 0 - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r3, _080EAFB8 @ =0x0000ffff - cmp r5, r3 - beq _080EB00C - mov r1, r8 - lsls r0, r1, 8 - subs r0, r1 - lsls r3, r0, 1 -_080EAF4E: - adds r1, r6, 0 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 1 - ldr r0, _080EAFB0 @ =gEasyChatWordsAlphabetized - adds r1, r0 - ldrh r4, [r1] - lsrs r0, r4, 9 - ldr r1, _080EAFBC @ =0x000001ff - adds r2, r1, 0 - adds r1, r4, 0 - ands r1, r2 - str r3, [sp, 0xC] - bl sub_80EADC0 - lsls r0, 24 - ldr r3, [sp, 0xC] - cmp r0, 0 - beq _080EAFA2 - cmp r7, 0 - bne _080EAFA2 - ldr r7, _080EAFC0 @ =gUnknown_083DB694 - ldr r2, [r7] - mov r1, r9 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 1 - adds r1, r3 - ldr r7, _080EAFC4 @ =0x00000b78 - adds r0, r2, r7 - adds r0, r1 - strh r4, [r0] - ldr r0, _080EAFC8 @ =0x00004142 - adds r2, r0 - add r2, r10 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - movs r7, 0x1 -_080EAFA2: - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080EAFB8 @ =0x0000ffff - cmp r5, r1 - bne _080EAF4E - b _080EB00C - .align 2, 0 -_080EAFB0: .4byte gEasyChatWordsAlphabetized -_080EAFB4: .4byte 0x0000feff -_080EAFB8: .4byte 0x0000ffff -_080EAFBC: .4byte 0x000001ff -_080EAFC0: .4byte gUnknown_083DB694 -_080EAFC4: .4byte 0x00000b78 -_080EAFC8: .4byte 0x00004142 -_080EAFCC: - lsrs r0, r4, 9 - ldr r3, _080EB030 @ =0x000001ff - adds r2, r3, 0 - adds r1, r4, 0 - ands r1, r2 - bl sub_80EADC0 - lsls r0, 24 - cmp r0, 0 - beq _080EB00C - ldr r7, _080EB034 @ =gUnknown_083DB694 - ldr r2, [r7] - mov r1, r9 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r3, r8 - lsls r0, r3, 8 - subs r0, r3 - adds r0, r1 - lsls r0, 1 - ldr r7, _080EB038 @ =0x00000b78 - adds r1, r2, r7 - adds r1, r0 - strh r4, [r1] - ldr r0, _080EB03C @ =0x00004142 - adds r2, r0 - add r2, r10 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_080EB00C: - ldr r1, [sp] - cmp r6, r1 - bcc _080EAF1C - ldr r3, [sp, 0x8] - lsls r0, r3, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x1A - bhi _080EB020 - b _080EAEE6 -_080EB020: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB030: .4byte 0x000001ff -_080EB034: .4byte gUnknown_083DB694 -_080EB038: .4byte 0x00000b78 -_080EB03C: .4byte 0x00004142 - thumb_func_end sub_80EAECC - - thumb_func_start sub_80EB040 -sub_80EB040: @ 80EB040 - push {r4-r6,lr} - movs r3, 0 -_080EB044: - adds r6, r3, 0x1 - cmp r3, 0 - beq _080EB094 - cmp r3, 0x15 - beq _080EB094 - cmp r3, 0x12 - beq _080EB094 - cmp r3, 0x13 - beq _080EB094 - ldr r0, _080EB0A4 @ =gEasyChatGroupWords - lsls r1, r3, 2 - adds r1, r0 - ldr r2, [r1] - movs r4, 0 - ldrb r0, [r2] - cmp r0, 0xFF - beq _080EB094 - ldr r0, _080EB0A8 @ =gUnknown_083DB694 - ldr r0, [r0] - ldr r1, _080EB0AC @ =0x000041a4 - adds r5, r0, r1 -_080EB06E: - lsls r0, r4, 2 - lsls r1, r3, 10 - adds r0, r1 - adds r0, r5, r0 - str r2, [r0] - ldrb r0, [r2] - adds r1, r4, 0x1 - cmp r0, 0xFF - beq _080EB088 -_080EB080: - adds r2, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080EB080 -_080EB088: - adds r2, 0x1 - lsls r0, r1, 16 - lsrs r4, r0, 16 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080EB06E -_080EB094: - lsls r0, r6, 16 - lsrs r3, r0, 16 - cmp r3, 0x15 - bls _080EB044 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EB0A4: .4byte gEasyChatGroupWords -_080EB0A8: .4byte gUnknown_083DB694 -_080EB0AC: .4byte 0x000041a4 - thumb_func_end sub_80EB040 - - thumb_func_start sub_80EB0B0 -sub_80EB0B0: @ 80EB0B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r3, _080EB184 @ =gUnknown_083DB694 - ldr r4, [r3] - adds r0, r4, 0 - adds r0, 0x26 - ldrb r5, [r0] - cmp r5, 0 - bne _080EB19C - movs r0, 0xDC - lsls r0, 1 - adds r2, r4, r0 - ldrb r6, [r2] - lsls r1, r6, 1 - ldr r7, _080EB188 @ =0x00004178 - adds r0, r4, r7 - adds r0, r1 - strh r5, [r0] - movs r7, 0 - movs r0, 0 - mov r9, r0 - ldr r1, _080EB18C @ =gEasyChatGroupOrders - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp] - movs r1, 0 - mov r8, r1 - ldr r1, _080EB190 @ =gEasyChatGroupSizes - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - cmp r8, r0 - bcc _080EB0FE - b _080EB1FA -_080EB0FE: - movs r2, 0xDC - lsls r2, 1 - adds r2, r4, r2 - str r2, [sp, 0x4] - lsls r5, r6, 24 - mov r10, r5 -_080EB10A: - mov r1, r8 - lsls r0, r1, 1 - ldr r2, [sp] - adds r5, r0, r2 - ldrh r1, [r5] - mov r2, r10 - lsrs r0, r2, 24 - bl sub_80EADC0 - lsls r0, 24 - cmp r0, 0 - beq _080EB16A - ldr r0, _080EB184 @ =gUnknown_083DB694 - ldr r3, [r0] - lsls r1, r7, 1 - mov r2, r9 - lsls r0, r2, 2 - adds r1, r0 - ldr r0, _080EB194 @ =0x00009a2a - adds r4, r3, r0 - adds r4, r1 - movs r0, 0x7F - ands r0, r6 - lsls r0, 9 - ldrh r1, [r5] - ldr r5, _080EB198 @ =0x000001ff - adds r2, r5, 0 - ands r1, r2 - orrs r0, r1 - strh r0, [r4] - lsls r0, r6, 1 - ldr r1, _080EB188 @ =0x00004178 - adds r3, r1 - adds r3, r0 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _080EB16A - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 -_080EB16A: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, _080EB190 @ =gEasyChatGroupSizes - ldr r2, [sp, 0x4] - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - cmp r8, r0 - bcc _080EB10A - b _080EB1FA - .align 2, 0 -_080EB184: .4byte gUnknown_083DB694 -_080EB188: .4byte 0x00004178 -_080EB18C: .4byte gEasyChatGroupOrders -_080EB190: .4byte gEasyChatGroupSizes -_080EB194: .4byte 0x00009a2a -_080EB198: .4byte 0x000001ff -_080EB19C: - movs r5, 0xDC - lsls r5, 1 - adds r0, r4, r5 - ldrb r2, [r0] - movs r3, 0 - movs r6, 0 - movs r5, 0 - lsls r1, r2, 1 - ldr r7, _080EB20C @ =0x00004142 - adds r0, r4, r7 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r5, r0 - bcs _080EB1FA - ldr r7, _080EB210 @ =0x00009a2a - adds r7, r4 - mov r8, r7 - lsls r0, r2, 8 - subs r0, r2 - lsls r7, r0, 1 - ldr r0, _080EB214 @ =0x00000b78 - adds r2, r4, r0 - adds r4, r1, 0 -_080EB1CA: - lsls r1, r3, 1 - lsls r0, r6, 2 - adds r1, r0 - add r1, r8 - lsls r0, r5, 1 - adds r0, r7 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x1 - bls _080EB1EE - movs r3, 0 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080EB1EE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r1, [r4] - cmp r5, r1 - bcc _080EB1CA -_080EB1FA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB20C: .4byte 0x00004142 -_080EB210: .4byte 0x00009a2a -_080EB214: .4byte 0x00000b78 - thumb_func_end sub_80EB0B0 - - thumb_func_start sub_80EB218 -sub_80EB218: @ 80EB218 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r6, r1, 16 - lsrs r4, r6, 16 - adds r7, r4, 0 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB240 - ldr r1, _080EB23C @ =gOtherText_ThreeQuestions - b _080EB2A2 - .align 2, 0 -_080EB23C: .4byte gOtherText_ThreeQuestions -_080EB240: - ldr r0, _080EB250 @ =0x0000ffff - cmp r4, r0 - bne _080EB254 - adds r1, r5, 0 - movs r0, 0xFF - strb r0, [r1] - b _080EB2AA - .align 2, 0 -_080EB250: .4byte 0x0000ffff -_080EB254: - lsrs r2, r6, 25 - ldr r1, _080EB268 @ =0x000001ff - ands r1, r7 - cmp r2, 0x13 - bgt _080EB26C - cmp r2, 0x12 - bge _080EB280 - cmp r2, 0 - beq _080EB270 - b _080EB290 - .align 2, 0 -_080EB268: .4byte 0x000001ff -_080EB26C: - cmp r2, 0x15 - bne _080EB290 -_080EB270: - movs r0, 0xB - muls r1, r0 - ldr r0, _080EB27C @ =gSpeciesNames - adds r1, r0 - b _080EB2A2 - .align 2, 0 -_080EB27C: .4byte gSpeciesNames -_080EB280: - movs r0, 0xD - muls r1, r0 - ldr r0, _080EB28C @ =gMoveNames - adds r1, r0 - b _080EB2A2 - .align 2, 0 -_080EB28C: .4byte gMoveNames -_080EB290: - ldr r0, _080EB2CC @ =gUnknown_083DB694 - ldr r0, [r0] - lsls r1, 2 - lsls r2, 10 - adds r1, r2 - ldr r2, _080EB2D0 @ =0x000041a4 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] -_080EB2A2: - adds r0, r5, 0 - bl StringCopy - adds r1, r0, 0 -_080EB2AA: - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x13 - strb r0, [r1, 0x1] - mov r2, r8 - lsls r0, r2, 3 - strb r0, [r1, 0x2] - adds r1, 0x3 - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080EB2CC: .4byte gUnknown_083DB694 -_080EB2D0: .4byte 0x000041a4 - thumb_func_end sub_80EB218 - - thumb_func_start sub_80EB2D4 -sub_80EB2D4: @ 80EB2D4 - push {r4-r6,lr} - lsls r5, r0, 16 - lsrs r4, r5, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB2F8 - ldr r0, _080EB2F4 @ =gOtherText_ThreeQuestions - bl StringLength - lsls r0, 16 - lsrs r0, 16 - b _080EB374 - .align 2, 0 -_080EB2F4: .4byte gOtherText_ThreeQuestions -_080EB2F8: - ldr r0, _080EB304 @ =0x0000ffff - cmp r4, r0 - bne _080EB308 - movs r0, 0 - b _080EB374 - .align 2, 0 -_080EB304: .4byte 0x0000ffff -_080EB308: - lsrs r2, r5, 25 - ldr r1, _080EB31C @ =0x000001ff - ands r1, r6 - cmp r2, 0x13 - bgt _080EB320 - cmp r2, 0x12 - bge _080EB334 - cmp r2, 0 - beq _080EB324 - b _080EB344 - .align 2, 0 -_080EB31C: .4byte 0x000001ff -_080EB320: - cmp r2, 0x15 - bne _080EB344 -_080EB324: - movs r0, 0xB - muls r1, r0 - ldr r0, _080EB330 @ =gSpeciesNames - adds r1, r0 - b _080EB356 - .align 2, 0 -_080EB330: .4byte gSpeciesNames -_080EB334: - movs r0, 0xD - muls r1, r0 - ldr r0, _080EB340 @ =gMoveNames - adds r1, r0 - b _080EB356 - .align 2, 0 -_080EB340: .4byte gMoveNames -_080EB344: - ldr r0, _080EB35C @ =gUnknown_083DB694 - ldr r0, [r0] - lsls r1, 2 - lsls r2, 10 - adds r1, r2 - ldr r2, _080EB360 @ =0x000041a4 - adds r0, r2 - adds r0, r1 - ldr r1, [r0] -_080EB356: - movs r2, 0 - b _080EB36C - .align 2, 0 -_080EB35C: .4byte gUnknown_083DB694 -_080EB360: .4byte 0x000041a4 -_080EB364: - adds r1, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_080EB36C: - ldrb r0, [r1] - cmp r0, 0xFF - bne _080EB364 - adds r0, r2, 0 -_080EB374: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80EB2D4 - - thumb_func_start sub_80EB37C -sub_80EB37C: @ 80EB37C - push {r4,r5,lr} - lsls r1, r0, 16 - lsrs r3, r1, 16 - ldr r0, _080EB3A0 @ =0x0000ffff - cmp r3, r0 - beq _080EB3EA - lsrs r2, r1, 25 - ldr r5, _080EB3A4 @ =0x000001ff - ands r5, r3 - cmp r2, 0x15 - bhi _080EB3F4 - cmp r2, 0x13 - bgt _080EB3A8 - cmp r2, 0x12 - bge _080EB3AC - cmp r2, 0 - beq _080EB3AC - b _080EB3E0 - .align 2, 0 -_080EB3A0: .4byte 0x0000ffff -_080EB3A4: .4byte 0x000001ff -_080EB3A8: - cmp r2, 0x15 - bne _080EB3E0 -_080EB3AC: - ldr r0, _080EB3D8 @ =gEasyChatGroupWords - lsls r1, r2, 2 - adds r1, r0 - ldr r4, [r1] - movs r3, 0 - ldr r0, _080EB3DC @ =gEasyChatGroupSizes - adds r0, r2, r0 - ldrb r0, [r0] - cmp r3, r0 - bcs _080EB3F4 - adds r1, r0, 0 -_080EB3C2: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r5, r0 - beq _080EB3EA - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bcc _080EB3C2 - b _080EB3F4 - .align 2, 0 -_080EB3D8: .4byte gEasyChatGroupWords -_080EB3DC: .4byte gEasyChatGroupSizes -_080EB3E0: - ldr r0, _080EB3F0 @ =gEasyChatGroupSizes - adds r0, r2, r0 - ldrb r0, [r0] - cmp r5, r0 - bcs _080EB3F4 -_080EB3EA: - movs r0, 0 - b _080EB3F6 - .align 2, 0 -_080EB3F0: .4byte gEasyChatGroupSizes -_080EB3F4: - movs r0, 0x1 -_080EB3F6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80EB37C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros/event.inc b/asm/macros/event.inc index cf4c9628a..fcbd3a055 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1361,10 +1361,94 @@ @ Supplementary - .macro goto_if_eq dest + .macro goto_if_trainer_not_defeated opponent, dest + checktrainerflag \opponent + goto_if 0, \dest + .endm + + .macro goto_if_trainer_defeated opponent, dest + checktrainerflag \opponent + goto_if 1, \dest + .endm + + .macro call_if_trainer_not_defeated opponent, dest + checktrainerflag \opponent + call_if 0, \dest + .endm + + .macro call_if_trainer_defeated opponent, dest + checktrainerflag \opponent + call_if 1, \dest + .endm + + .macro goto_if_unset flag, dest + checkflag \flag + goto_if 0, \dest + .endm + + .macro goto_if_set flag, dest + checkflag \flag + goto_if 1, \dest + .endm + + .macro goto_if_lt dest @ LESS THAN + goto_if 0, \dest + .endm + + .macro goto_if_eq dest @ EQUAL goto_if 1, \dest .endm + .macro goto_if_gt dest @ GREATER THAN + goto_if 2, \dest + .endm + + .macro goto_if_le dest @ LESS THAN OR EQUAL + goto_if 3, \dest + .endm + + .macro goto_if_ge dest @ GREATER THAN OR EQUAL + goto_if 4, \dest + .endm + + .macro goto_if_ne dest @ NOT EQUAL + goto_if 5, \dest + .endm + + .macro call_if_unset flag, dest + checkflag \flag + call_if 0, \dest + .endm + + .macro call_if_set flag, dest + checkflag \flag + call_if 1, \dest + .endm + + .macro call_if_lt dest @ LESS THAN + call_if 0, \dest + .endm + + .macro call_if_eq dest @ EQUAL + call_if 1, \dest + .endm + + .macro call_if_gt dest @ GREATER THAN + call_if 2, \dest + .endm + + .macro call_if_le dest @ LESS THAN OR EQUAL + call_if 3, \dest + .endm + + .macro call_if_ge dest @ GREATER THAN OR EQUAL + call_if 4, \dest + .endm + + .macro call_if_ne dest @ NOT EQUAL + call_if 5, \dest + .endm + .macro switch var copyvar VAR_SPECIAL_0, \var .endm diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index 020c9a97d..18fb0a64d 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -410,8 +410,7 @@ gUnknown_0815F36C:: @ 815F36C EventScript_15F384: message UnknownString_81A3A87 waitmessage - checkflag FLAG_DECORATION_16 - goto_if_eq EventScript_15F3A0 + goto_if_set FLAG_DECORATION_16, EventScript_15F3A0 goto EventScript_15F3E2 end @@ -954,7 +953,7 @@ gUnknown_0819F818:: @ 819F818 waitmovement 0 specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - goto_if 5, EventScript_19F83F + goto_if_ne EventScript_19F83F special PlayTrainerEncounterMusic special sub_8082524 goto EventScript_19F8F2 @@ -968,10 +967,10 @@ gUnknown_0819F840:: @ 819F840 call EventScript_19F8E5 specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - goto_if 5, EventScript_19F877 + goto_if_ne EventScript_19F877 special CheckForAlivePartyMons compare RESULT, 0 - goto_if 5, EventScript_19F870 + goto_if_ne EventScript_19F870 special PlayTrainerEncounterMusic special sub_8082524 goto EventScript_19F8F2 @@ -1017,7 +1016,7 @@ gUnknown_0819F8AE:: @ 819F8AE goto_if_eq EventScript_19F8DD special CheckForAlivePartyMons compare RESULT, 0 - goto_if 5, EventScript_19F8DE + goto_if_ne EventScript_19F8DE special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech @@ -1308,14 +1307,10 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR clearflag FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR special sub_810FAA0 - checkflag FLAG_RECEIVED_SS_TICKET - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62 - checkflag FLAG_LATIOS_OR_LATIAS_ROAMING - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70 - checkflag FLAG_RECEIVED_BELDUM - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A - checkflag FLAG_RECEIVED_HM08 - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E + call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_19FC62 + call_if_unset FLAG_LATIOS_OR_LATIAS_ROAMING, EverGrandeCity_HallOfFame_EventScript_19FC70 + call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_19FC5A + call_if_unset FLAG_RECEIVED_HM08, EverGrandeCity_HallOfFame_EventScript_19FC5E return EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A @@ -1343,10 +1338,8 @@ S_WhiteOut:: @ 819FC74 end EventScript_19FC84: - checkflag FLAG_RECEIVED_GO_GOGGLES - goto_if_eq Route101_EventScript_1A14DC - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if 0, Route101_EventScript_1A14DC + goto_if_set FLAG_RECEIVED_GO_GOGGLES, Route101_EventScript_1A14DC + goto_if_unset FLAG_DEFEATED_LAVARIDGE_GYM, Route101_EventScript_1A14DC clearflag FLAG_HIDE_RIVAL_LAVARIDGE_1 setvar VAR_LAVARIDGE_RIVAL_STATE, 2 return @@ -1409,16 +1402,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B - checkflag FLAG_RECEIVED_POKENAV - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC - checkflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104 - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 - checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F - checkflag FLAG_HIDE_MR_BRINEY_ROUTE109 - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 + goto_if_unset FLAG_RECEIVED_POKENAV, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_unset FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104, OldaleTown_PokemonCenter_1F_EventScript_19FD49 + goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_19FD4F + goto_if_unset FLAG_HIDE_MR_BRINEY_ROUTE109, OldaleTown_PokemonCenter_1F_EventScript_19FD55 return OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49 @@ -1467,8 +1455,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C applymovement VAR_SPECIAL_B, OldaleTown_PokemonCenter_1F_Movement_1A0845 waitmovement 0 special ScrSpecial_HealPlayerParty - checkflag FLAG_POKERUS_EXPLAINED - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE + goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_19FDCE goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end @@ -1516,9 +1503,9 @@ Std_ObtainItem_: @ 819FE07 checkitemtype VAR_SPECIAL_0 call GetItem_HandlePocket compare VAR_SPECIAL_7, 0x1 - call_if 1, Std_ObtainItem_Success + call_if_eq Std_ObtainItem_Success compare VAR_SPECIAL_7, 0x0 - call_if 1, Std_ObtainItem_Fail + call_if_eq Std_ObtainItem_Fail return GetItem_HandlePocket: @@ -1533,31 +1520,31 @@ GetItem_HandlePocket: GetItem_HandlePocket_Items: bufferstdstring 2, 0xE compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_KeyItems: bufferstdstring 2, 0xF compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_PokeBalls: bufferstdstring 2, 0x10 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_TMsHMs: bufferstdstring 2, 0x11 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetTMHMFanfare + call_if_eq PlayGetTMHMFanfare return GetItem_HandlePocket_Berries: bufferstdstring 2, 0x12 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return Std_ObtainItem_Success: @ 819FEB7 @@ -1589,9 +1576,9 @@ Std_ObtainDecoration: @ 819FEDA Std_ObtainDecoration_: @ 819FEE8 bufferdecorationname 1, VAR_SPECIAL_0 compare VAR_SPECIAL_7, 1 - call_if 1, Std_ObtainDecoration_Success + call_if_eq Std_ObtainDecoration_Success compare VAR_SPECIAL_7, 0 - call_if 1, Std_ObtainDecoration_Fail + call_if_eq Std_ObtainDecoration_Fail return Std_ObtainDecoration_Success: @ 819FF03 @@ -1617,9 +1604,9 @@ Std_FindItem: @ 819FF21 checkitemtype VAR_SPECIAL_0 call GetItem_HandlePocket compare VAR_SPECIAL_7, 1 - call_if 1, Std_FindItem_Success + call_if_eq Std_FindItem_Success compare VAR_SPECIAL_7, 0 - call_if 1, Std_FindItem_Fail + call_if_eq Std_FindItem_Fail release return @@ -1724,10 +1711,8 @@ EventScript_1A0070: EventScript_1A0085: playse SE_PC_LOGON - checkflag FLAG_SYS_PC_LANETTE - call_if 0, EventScript_1A00AC - checkflag FLAG_SYS_PC_LANETTE - call_if 1, EventScript_1A00B5 + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_1A00AC + call_if_set FLAG_SYS_PC_LANETTE, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 special ShowPokemonStorageSystem waitstate @@ -1750,8 +1735,7 @@ EventScript_1A00BE: end EventScript_1A00CB: - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, EventScript_1A00BE + goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_1A00BE playse SE_PC_LOGON special AccessHallOfFamePC waitstate @@ -2156,21 +2140,21 @@ Route103_EventScript_1A02F4:: @ 81A02F4 compare VAR_PETALBURG_GYM_STATE, 0 goto_if_eq Route101_EventScript_1A14DC compare VAR_BIRCH_STATE, 0 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 1 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 2 - call_if 1, Route101_EventScript_1A0365 + call_if_eq Route101_EventScript_1A0365 compare VAR_BIRCH_STATE, 3 - call_if 1, Route101_EventScript_1A0365 + call_if_eq Route101_EventScript_1A0365 compare VAR_BIRCH_STATE, 4 - call_if 1, Route101_EventScript_1A0372 + call_if_eq Route101_EventScript_1A0372 compare VAR_BIRCH_STATE, 5 - call_if 1, Route101_EventScript_1A0372 + call_if_eq Route101_EventScript_1A0372 compare VAR_BIRCH_STATE, 6 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 7 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 return Route101_EventScript_1A0358:: @ 81A0358 @@ -2297,9 +2281,9 @@ Movement_1A047A: BattleTower_Outside_EventScript_1A047C:: @ 81A047C SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C compare FACING, 1 - call_if 1, BattleTower_Outside_EventScript_160B2F + call_if_eq BattleTower_Outside_EventScript_160B2F compare FACING, 3 - call_if 1, BattleTower_Outside_EventScript_160B3A + call_if_eq BattleTower_Outside_EventScript_160B3A delay 30 hideobjectat 255, MAP_PETALBURG_CITY call BattleTower_Outside_EventScript_1A040E @@ -2467,19 +2451,19 @@ Route119_EventScript_1A05C3:: @ 81A05C3 waitmoncry setwildbattle SPECIES_KECLEON, 30, ITEM_NONE compare VAR_SPECIAL_4, 1 - call_if 1, Route119_EventScript_1A0646 + call_if_eq Route119_EventScript_1A0646 compare VAR_SPECIAL_4, 2 - call_if 1, Route119_EventScript_1A064A + call_if_eq Route119_EventScript_1A064A compare VAR_SPECIAL_4, 3 - call_if 1, Route119_EventScript_1A064E + call_if_eq Route119_EventScript_1A064E compare VAR_SPECIAL_4, 4 - call_if 1, Route119_EventScript_1A0652 + call_if_eq Route119_EventScript_1A0652 compare VAR_SPECIAL_4, 5 - call_if 1, Route119_EventScript_1A0656 + call_if_eq Route119_EventScript_1A0656 compare VAR_SPECIAL_4, 6 - call_if 1, Route119_EventScript_1A065A + call_if_eq Route119_EventScript_1A065A compare VAR_SPECIAL_4, 7 - call_if 1, Route119_EventScript_1A065E + call_if_eq Route119_EventScript_1A065E setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE @@ -3965,8 +3949,7 @@ SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 end SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3086 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock @@ -4000,8 +3983,7 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5 end SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3102 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock @@ -4035,8 +4017,7 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121 end SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A317E + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock @@ -4070,8 +4051,7 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D end SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A31FA + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock @@ -4105,8 +4085,7 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219 end SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3276 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock @@ -4140,8 +4119,7 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295 end SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A32F2 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock @@ -4175,8 +4153,7 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311 end SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A336E + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock @@ -4210,8 +4187,7 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D end SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A33EA + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock @@ -4245,8 +4221,7 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409 end SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3466 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock @@ -4280,8 +4255,7 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485 end SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A34E2 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock @@ -4472,8 +4446,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 compare RESULT, 1 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 + goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO compare RESULT, YES @@ -4601,8 +4574,7 @@ SlateportCity_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 lock faceplayer - checkflag FLAG_TEMP_2 - goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_set FLAG_TEMP_2, FallarborTown_ContestLobby_EventScript_1AE17E setvar VAR_SPECIAL_5, 6 special InterviewBefore compare RESULT, 1 @@ -4662,7 +4634,7 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188 SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188 VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare VAR_LINK_CONTEST_ROOM_STATE, 2 - goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if_ne FallarborTown_ContestLobby_EventScript_1AE1FE setvar VAR_SPECIAL_5, 6 special InterviewBefore compare RESULT, 1 @@ -4698,8 +4670,7 @@ FallarborTown_ContestLobby_EventScript_1AE1FE:: @ 81AE1FE BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF lock faceplayer - checkflag FLAG_TEMP_2 - goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_set FLAG_TEMP_2, BattleTower_Lobby_EventScript_1AE2E3 setvar VAR_SPECIAL_5, 7 special InterviewBefore compare RESULT, 1 @@ -4718,9 +4689,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 multichoice 19, 8, 45, 1 copyvar VAR_SPECIAL_8, RESULT compare RESULT, 0 - call_if 1, BattleTower_Lobby_EventScript_1AE2A1 + call_if_eq BattleTower_Lobby_EventScript_1AE2A1 compare RESULT, 1 - call_if 1, BattleTower_Lobby_EventScript_1AE2AA + call_if_eq BattleTower_Lobby_EventScript_1AE2AA msgbox BattleTower_Lobby_Text_1A79EB, 4 setvar VAR_SPECIAL_4, 12 copyvar VAR_SPECIAL_5, VAR_SPECIAL_9 diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc index 91f6ca620..86a4d1b24 100644 --- a/data-de/field_move_scripts.inc +++ b/data-de/field_move_scripts.inc @@ -1,7 +1,6 @@ S_CuttableTree:: @ 81B0DCC lockall - checkflag FLAG_BADGE01_GET - goto_if 0, CannotUseCut + goto_if_unset FLAG_BADGE01_GET, CannotUseCut checkpartymove MOVE_CUT compare RESULT, 6 goto_if_eq CannotUseCut @@ -61,8 +60,7 @@ CannotUseCutText: @ 81B0E8E S_BreakableRock:: @ 81B0EB7 lockall - checkflag FLAG_BADGE03_GET - goto_if 0, CannotUseRockSmash + goto_if_unset FLAG_BADGE03_GET, CannotUseRockSmash checkpartymove MOVE_ROCK_SMASH compare RESULT, 6 goto_if_eq CannotUseRockSmash @@ -128,10 +126,8 @@ CannotUseRockSmashText: @ 81B0F90 S_PushableBoulder:: @ 81B0FCB lockall - checkflag FLAG_BADGE04_GET - goto_if 0, CannotUseStrength - checkflag FLAG_SYS_USE_STRENGTH - goto_if_eq AlreadyUsedStrength + goto_if_unset FLAG_BADGE04_GET, CannotUseStrength + goto_if_set FLAG_SYS_USE_STRENGTH, AlreadyUsedStrength checkpartymove 70 compare RESULT, 6 goto_if_eq CannotUseStrength diff --git a/data/cable_car.s b/data/cable_car.s deleted file mode 100644 index 775e53b6a..000000000 --- a/data/cable_car.s +++ /dev/null @@ -1,102 +0,0 @@ -#include "constants/map_objects.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gCableCarMtChimneyTilemap:: @ 8401820 - .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz" - - .align 2 -gCableCarTreeTilemap:: @ 8401978 - .incbin "graphics/misc/cable_car_tree_map.bin.lz" - - .align 2 -gCableCarMountainTilemap:: @ 8401AFC - .incbin "graphics/misc/cable_car_mountain_map.bin.lz" - - .align 2 -gCableCarPylonHookTilemapEntries:: @ 8401CC0 - .2byte 0x3000 - .2byte 0x3001 - .2byte 0x3002 - .2byte 0x3003 - .2byte 0x3004 - .2byte 0x3005 - .2byte 0x3006 - .2byte 0x3007 - .2byte 0x3008 - .2byte 0x3009 - - .align 2 -gCableCarPylonStemTilemap:: @ 8401CD4 - .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz" - - .align 2 -gUnknown_08401CF8:: @ 8401CF8 - obj_tiles gCableCar_Gfx, 0x800, 1 - obj_tiles gCableCarDoor_Gfx, 0x40, 2 - obj_tiles gCableCarCord_Gfx, 0x80, 3 - .space 8 - - .align 2 -gUnknown_08401D18:: @ 8401D18 - obj_pal gCableCar_Pal, 1 - .space 8 - - .align 2 -gOamData_8401D28:: @ 8401D28 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_8401D30:: @ 8401D30 - .2byte 0x4300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_8401D38:: @ 8401D38 - .2byte 0x0300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteTemplate_8401D40:: @ 8401D40 - spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 - - .align 2 -gSpriteTemplate_8401D58:: @ 8401D58 - spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 - - .align 2 -gSpriteTemplate_8401D70:: @ 8401D70 - spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76 - -gCableCarPlayerGraphicsIDs:: @ 8401D88 - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL - .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL - -gMtChimneyHikerGraphicsIDs:: @ 8401D8A - .byte MAP_OBJ_GFX_HIKER - .byte MAP_OBJ_GFX_CAMPER - .byte MAP_OBJ_GFX_PICNICKER - .byte MAP_OBJ_GFX_POOCHYENA @ not used - - .align 1 -gMtChimneyHikerCoords:: @ 8401D8E - .2byte 0, 80 - .2byte 240, 146 - -gMtChimneyHikerMovementDelayTable:: @ 8401D96 - .byte 0 - .byte 60 - .byte 120 - .byte 170 - - .align 2 -gUnknown_08401D9C:: @ 8401D9C - .4byte sub_8123EB8 - .4byte sub_8123F44 diff --git a/data/easy_chat.s b/data/easy_chat.s index 99a03f8f5..d41ffccce 100644 --- a/data/easy_chat.s +++ b/data/easy_chat.s @@ -8,483 +8,6 @@ .section .rodata - .align 1 -gMysteryEventPhrase:: @ 83DB678 - .2byte EC_WORD_MYSTERY - .2byte EC_WORD_EVENT - .2byte EC_WORD_IS - .2byte EC_WORD_EXCITING - - .align 1 -gBerryMasterWifePhrases:: @ 83DB680 -.ifdef ENGLISH - .2byte EC_WORD_GREAT - .2byte EC_WORD_BATTLE - - .2byte EC_WORD_CHALLENGE - .2byte EC_WORD_CONTEST - - .2byte EC_WORD_OVERWHELMING - .2byte EC_POKEMON(LATIAS) - - .2byte EC_WORD_COOL - .2byte EC_POKEMON(LATIOS) - - .2byte EC_WORD_SUPER - .2byte EC_WORD_HUSTLE -.else - .2byte EC_WORD_GREAT - .2byte EC_WORD_FIGHT - - .2byte EC_WORD_CONTEST - .2byte EC_WORD_CHALLENGE - - .2byte EC_POKEMON(LATIAS) - .2byte EC_WORD_OVERWHELMING - - .2byte EC_POKEMON(LATIOS) - .2byte EC_WORD_COOL - - .2byte EC_WORD_SUPER - .2byte 0xFFFF -.endif - -gUnknown_083DB694:: @ 83DB694 - .4byte gSharedMem + 0x1000 - - .align 2 -gUnknown_083DB698:: @ 83DB698 - .4byte REG_BG3VOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - -gUnknown_083DB6A4:: @ 83DB6A4 - .byte 4 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 5 - .byte 0 - .byte 2 - .byte 2 - .byte 3 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - -gUnknown_083DB6B2:: @ 83DB6B2 - .string "ABCDEF $ " - .string "GHIJKL$ " - .string "MNOPQRS$ " - .string "TUVWXYZ$ " - - .align 2 -gUnknown_083DB6F4:: @ 83DB6F4 - .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1 - .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1 - .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1 - .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1 - .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1 - .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1 - .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1 - .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1 - -gUnknown_083DB7C0:: @ 83DB7C0 - .byte 0, 6 - .byte 1, 7 - .byte 1, 8 - .byte 1, 9 - .byte 2, 10 - .byte 16, 13 - .byte 4, 12 - .byte 3, 13 - .byte 3, 13 - .byte 5, 14 - .byte 3, 13 - .byte 3, 13 - .byte 3, 13 - .byte 15, 13 - - .align 2 -gUnknown_083DB7DC:: @ 83DB7DC -.ifdef ENGLISH - .4byte gSharedMem + 0xAC80 - .4byte gSharedMem + 0xACC9 - .4byte gSharedMem + 0xAD12 - .4byte gSharedMem + 0xAD5B -.else - .4byte gSharedMem + 0xAFAC - .4byte gSharedMem + 0xAFF5 - .4byte gSharedMem + 0xB03E - .4byte gSharedMem + 0xB087 -.endif - - .align 1 -gUnknown_083DB7EC:: @ 83DB7EC -.ifdef ENGLISH - .2byte EC_WORD_I_AM - .2byte EC_WORD_A - .2byte EC_WORD_POKEMON - .2byte EC_WORD_GREAT -.else - .2byte EC_WORD_I_AM - .2byte EC_WORD_BIG - .2byte EC_WORD_IN - .2byte EC_WORD_POKEMON -.endif - - .align 1 -gUnknown_083DB7F4:: @ 83DB7F4 - .2byte EC_WORD_ARE - .2byte EC_WORD_YOU - .2byte EC_WORD_READY - .2byte EC_WORD_QUES - .2byte EC_WORD_HERE_I_COME - .2byte EC_WORD_EXCL - - .align 2 -InterviewPalette_0:: @ 83DB800 - .incbin "graphics/misc/interview_pal0.gbapal" - - .align 2 -InterviewPalette_1:: @ 83DB820 - .incbin "graphics/misc/interview_pal1.gbapal" - - .align 2 -InterviewArrowTiles: @ 83DB840 - .incbin "graphics/misc/interview_arrow.4bpp" - - .align 2 -InterviewButtonTiles: @ 83DB940 - .incbin "graphics/misc/interview_buttons.4bpp" - - .align 2 -gMenuInterviewFrame_Pal:: - .incbin "graphics/misc/interview_frame.gbapal" - - .align 2 -gMenuInterviewFrame_Gfx:: - .incbin "graphics/misc/interview_frame.4bpp.lz" - - .align 2 -InterviewTriangleCursorTiles: @ 83DBB94 - .incbin "graphics/misc/interview_triangle_cursor.4bpp" - - .align 2 -gSpriteSheets_Interview:: @ 83DBBB4 - obj_tiles InterviewTriangleCursorTiles, 0x20, 0 - obj_tiles gInterviewOutlineCursorTiles, 0x700, 1 - obj_tiles InterviewArrowTiles, 0x100, 2 - obj_tiles InterviewButtonTiles, 0x100, 3 - null_obj_tiles - - .align 2 -gSpritePalettes_Interview:: @ 83DBBDC - obj_pal InterviewPalette_0, 0 - obj_pal InterviewPalette_1, 1 - null_obj_pal - - .align 2 -gOamData_83DBBF4:: @ 83DBBF4 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83DBBFC:: @ 83DBBFC - spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC - - .align 2 -gOamData_83DBC14:: @ 83DBC14 - .2byte 0x4400 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83DBC1C:: @ 83DBC1C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC24:: @ 83DBC24 -.ifdef ENGLISH - obj_image_anim_frame 8, 5 -.else - obj_image_anim_frame 0, 5 -.endif - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC2C:: @ 83DBC2C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC34:: @ 83DBC34 - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC3C:: @ 83DBC3C - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC44:: @ 83DBC44 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC4C:: @ 83DBC4C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC54:: @ 83DBC54 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC5C:: @ 83DBC5C - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC64:: @ 83DBC64 -.ifdef ENGLISH - obj_image_anim_frame 40, 5 -.else - obj_image_anim_frame 16, 5 -.endif - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC6C:: @ 83DBC6C - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC74:: @ 83DBC74 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBC7C:: @ 83DBC7C - .4byte gSpriteAnim_83DBC1C - .4byte gSpriteAnim_83DBC24 - .4byte gSpriteAnim_83DBC2C - .4byte gSpriteAnim_83DBC34 - - .align 2 -gSpriteAnimTable_83DBC8C:: @ 83DBC8C - .4byte gSpriteAnim_83DBC3C - .4byte gSpriteAnim_83DBC44 - .4byte gSpriteAnim_83DBC4C - .4byte gSpriteAnim_83DBC54 - - .align 2 -gSpriteAnimTable_83DBC9C:: @ 83DBC9C - .4byte gSpriteAnim_83DBC5C - .4byte gSpriteAnim_83DBC64 - .4byte gSpriteAnim_83DBC6C - .4byte gSpriteAnim_83DBC74 - - .align 2 -gSpriteTemplate_83DBCAC:: @ 83DBCAC - spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8 - - .align 2 -gUnknown_083DBCC4:: @ 83DBCC4 - .byte 1, 3, 5, 8, 10, 12, 15 - .byte 1, 3, 5, 8, 10, 12, 0 - .byte 1, 3, 5, 8, 10, 12, 14 - .byte 1, 3, 5, 8, 10, 12, 14 - - .align 2 -gOamData_83DBCE0:: @ 83DBCE0 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83DBCE8:: @ 83DBCE8 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBCF0:: @ 83DBCF0 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBCF8:: @ 83DBCF8 - .4byte gSpriteAnim_83DBCE8 - .4byte gSpriteAnim_83DBCF0 - - .align 2 -gSpriteAnim_83DBD00:: @ 83DBD00 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBD08:: @ 83DBD08 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBD10:: @ 83DBD10 - .4byte gSpriteAnim_83DBD00 - .4byte gSpriteAnim_83DBD08 - - .align 2 -gSpriteTemplate_83DBD18:: @ 83DBD18 - spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78 - - .align 2 -gUnknown_083DBD30:: @ 83DBD30 - obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006 - - .align 2 -gUnknown_083DBD38:: @ 83DBD38 - obj_pal gMenuInterviewFrame_Pal, 0x0004 - - .align 2 -gOamData_83DBD40:: @ 83DBD40 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83DBD48:: @ 83DBD48 - spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083DBD60:: @ 83DBD60 - obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007 - - .align 2 -gUnknown_083DBD68:: @ 83DBD68 - obj_pal gMenuWordGroupIndicator_Pal, 0x0005 - - .align 2 -gOamData_83DBD70:: @ 83DBD70 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83DBD78:: @ 83DBD78 - obj_image_anim_frame 96, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBD80:: @ 83DBD80 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 96, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBD94:: @ 83DBD94 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 96, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDA8:: @ 83DBDA8 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDB4:: @ 83DBDB4 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDC0:: @ 83DBDC0 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 96, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBDCC:: @ 83DBDCC - .4byte gSpriteAnim_83DBD78 - .4byte gSpriteAnim_83DBD80 - .4byte gSpriteAnim_83DBD94 - .4byte gSpriteAnim_83DBDA8 - .4byte gSpriteAnim_83DBDB4 - .4byte gSpriteAnim_83DBDC0 - - .align 2 -gSpriteTemplate_83DBDE4:: @ 83DBDE4 - spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083DBDFC:: @ 83DBDFC - .incbin "graphics/unknown/unknown_3DBDFC.gbapal" - - .align 1 -gUnknown_083DBE1C:: @ 83DBE1C - .2byte 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300 - .2byte 0x301, 0x301, 0x301, 0x301, 0x301, 0x300, 0x300, 0x300, 0x300 - -gUnknown_083DBE40:: @ 83DBE40 - .incbin "graphics/unknown/unknown_3DBE40.gbapal" - -@ unused tilemap? - .2byte 0x5036, 0x5037, 0x5038, 0x5039, 0x503A, 0x503B - .2byte 0x5046, 0x5047, 0x5048, 0x5049, 0x504A, 0x504B - .2byte 0x5056, 0x5057, 0x5058, 0x5059, 0x505A, 0x505B - .2byte 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035 - .2byte 0x5040, 0x5041, 0x5042, 0x5043, 0x5044, 0x5045 - .2byte 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5055 - -gUnknown_083DBEA8:: @ 83DBEA8 - .string "{CLEAR_TO 88}$" - -.ifdef GERMAN -unk_83E7EB0: - .string "{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}" -unk_83E7EC5: - .string "mehr$" -unk_83E7ECA:: - .string "{UNKNOWN_14 8} G H I J K L $" -unk_83E7EE1: - .string "{UNKNOWN_14 8} M N O P Q R S $" -unk_83E7EF8: - .string "{UNKNOWN_14 8} T U V W X Y Z $" -.endif - - .align 2 -gUnknown_083DBEAC:: @ 83DBEAC -.ifdef ENGLISH - .string "{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}others$", 0x20 - .string "{UNKNOWN_14 8} G H I J K L $", 0x20 - .string "{UNKNOWN_14 8} M N O P Q R S $", 0x20 - .string "{UNKNOWN_14 8} T U V W X Y Z $", 0x20 -.else - .4byte unk_83E7EB0 - .4byte unk_83E7ECA - .4byte unk_83E7EE1 - .4byte unk_83E7EF8 - .4byte unk_83E7EC5 -.endif - @ 83DBF2C .include "data/text/easy_chat/group_words.inc" diff --git a/data/event_scripts.s b/data/event_scripts.s index 1ed419b52..1c8cff8d6 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -410,8 +410,7 @@ gUnknown_0815F36C:: @ 815F36C EventScript_15F384: message UnknownString_81A3A87 waitmessage - checkflag FLAG_DECORATION_16 - goto_if_eq EventScript_15F3A0 + goto_if_set FLAG_DECORATION_16, EventScript_15F3A0 goto EventScript_15F3E2 end @@ -948,7 +947,7 @@ gUnknown_0819F818:: @ 819F818 waitmovement 0 specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - goto_if 5, EventScript_19F83F + goto_if_ne EventScript_19F83F special PlayTrainerEncounterMusic special sub_8082524 goto EventScript_19F8F2 @@ -962,10 +961,10 @@ gUnknown_0819F840:: @ 819F840 call EventScript_19F8E5 specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - goto_if 5, EventScript_19F877 + goto_if_ne EventScript_19F877 special CheckForAlivePartyMons compare RESULT, 0 - goto_if 5, EventScript_19F870 + goto_if_ne EventScript_19F870 special PlayTrainerEncounterMusic special sub_8082524 goto EventScript_19F8F2 @@ -1011,7 +1010,7 @@ gUnknown_0819F8AE:: @ 819F8AE goto_if_eq EventScript_19F8DD special CheckForAlivePartyMons compare RESULT, 0 - goto_if 5, EventScript_19F8DE + goto_if_ne EventScript_19F8DE special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech @@ -1302,14 +1301,10 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR clearflag FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR special sub_810FAA0 - checkflag FLAG_RECEIVED_SS_TICKET - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62 - checkflag FLAG_LATIOS_OR_LATIAS_ROAMING - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70 - checkflag FLAG_RECEIVED_BELDUM - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A - checkflag FLAG_RECEIVED_HM08 - call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E + call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_19FC62 + call_if_unset FLAG_LATIOS_OR_LATIAS_ROAMING, EverGrandeCity_HallOfFame_EventScript_19FC70 + call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_19FC5A + call_if_unset FLAG_RECEIVED_HM08, EverGrandeCity_HallOfFame_EventScript_19FC5E return EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A @@ -1337,10 +1332,8 @@ S_WhiteOut:: @ 819FC74 end EventScript_19FC84: - checkflag FLAG_RECEIVED_GO_GOGGLES - goto_if_eq Route101_EventScript_1A14DC - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if 0, Route101_EventScript_1A14DC + goto_if_set FLAG_RECEIVED_GO_GOGGLES, Route101_EventScript_1A14DC + goto_if_unset FLAG_DEFEATED_LAVARIDGE_GYM, Route101_EventScript_1A14DC clearflag FLAG_HIDE_RIVAL_LAVARIDGE_1 setvar VAR_LAVARIDGE_RIVAL_STATE, 2 return @@ -1403,16 +1396,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B - checkflag FLAG_RECEIVED_POKENAV - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC - checkflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104 - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 - checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F - checkflag FLAG_HIDE_MR_BRINEY_ROUTE109 - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 + goto_if_unset FLAG_RECEIVED_POKENAV, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_unset FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104, OldaleTown_PokemonCenter_1F_EventScript_19FD49 + goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_19FD4F + goto_if_unset FLAG_HIDE_MR_BRINEY_ROUTE109, OldaleTown_PokemonCenter_1F_EventScript_19FD55 return OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49 @@ -1461,8 +1449,7 @@ do_heal_party:: @ 819FD7C applymovement VAR_SPECIAL_B, OldaleTown_PokemonCenter_1F_Movement_1A0845 waitmovement 0 special ScrSpecial_HealPlayerParty - checkflag FLAG_POKERUS_EXPLAINED - goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE + goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_19FDCE goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end @@ -1510,9 +1497,9 @@ Std_ObtainItem_: @ 819FE07 checkitemtype VAR_SPECIAL_0 call GetItem_HandlePocket compare VAR_SPECIAL_7, 0x1 - call_if 1, Std_ObtainItem_Success + call_if_eq Std_ObtainItem_Success compare VAR_SPECIAL_7, 0x0 - call_if 1, Std_ObtainItem_Fail + call_if_eq Std_ObtainItem_Fail return GetItem_HandlePocket: @@ -1527,31 +1514,31 @@ GetItem_HandlePocket: GetItem_HandlePocket_Items: bufferstdstring 2, 0xE compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_KeyItems: bufferstdstring 2, 0xF compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_PokeBalls: bufferstdstring 2, 0x10 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return GetItem_HandlePocket_TMsHMs: bufferstdstring 2, 0x11 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetTMHMFanfare + call_if_eq PlayGetTMHMFanfare return GetItem_HandlePocket_Berries: bufferstdstring 2, 0x12 compare VAR_SPECIAL_7, 1 - call_if 1, PlayGetItemFanfare + call_if_eq PlayGetItemFanfare return Std_ObtainItem_Success: @ 819FEB7 @@ -1583,9 +1570,9 @@ Std_ObtainDecoration: @ 819FEDA Std_ObtainDecoration_: @ 819FEE8 bufferdecorationname 1, VAR_SPECIAL_0 compare VAR_SPECIAL_7, 1 - call_if 1, Std_ObtainDecoration_Success + call_if_eq Std_ObtainDecoration_Success compare VAR_SPECIAL_7, 0 - call_if 1, Std_ObtainDecoration_Fail + call_if_eq Std_ObtainDecoration_Fail return Std_ObtainDecoration_Success: @ 819FF03 @@ -1611,9 +1598,9 @@ Std_FindItem: @ 819FF21 checkitemtype VAR_SPECIAL_0 call GetItem_HandlePocket compare VAR_SPECIAL_7, 1 - call_if 1, Std_FindItem_Success + call_if_eq Std_FindItem_Success compare VAR_SPECIAL_7, 0 - call_if 1, Std_FindItem_Fail + call_if_eq Std_FindItem_Fail release return @@ -1718,10 +1705,8 @@ EventScript_1A0070: EventScript_1A0085: playse SE_PC_LOGON - checkflag FLAG_SYS_PC_LANETTE - call_if 0, EventScript_1A00AC - checkflag FLAG_SYS_PC_LANETTE - call_if 1, EventScript_1A00B5 + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_1A00AC + call_if_set FLAG_SYS_PC_LANETTE, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 special ShowPokemonStorageSystem waitstate @@ -1744,8 +1729,7 @@ EventScript_1A00BE: end EventScript_1A00CB: - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, EventScript_1A00BE + goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_1A00BE playse SE_PC_LOGON special AccessHallOfFamePC waitstate @@ -2150,21 +2134,21 @@ Route103_EventScript_1A02F4:: @ 81A02F4 compare VAR_PETALBURG_GYM_STATE, 0 goto_if_eq Route101_EventScript_1A14DC compare VAR_BIRCH_STATE, 0 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 1 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 2 - call_if 1, Route101_EventScript_1A0365 + call_if_eq Route101_EventScript_1A0365 compare VAR_BIRCH_STATE, 3 - call_if 1, Route101_EventScript_1A0365 + call_if_eq Route101_EventScript_1A0365 compare VAR_BIRCH_STATE, 4 - call_if 1, Route101_EventScript_1A0372 + call_if_eq Route101_EventScript_1A0372 compare VAR_BIRCH_STATE, 5 - call_if 1, Route101_EventScript_1A0372 + call_if_eq Route101_EventScript_1A0372 compare VAR_BIRCH_STATE, 6 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 compare VAR_BIRCH_STATE, 7 - call_if 1, Route101_EventScript_1A0358 + call_if_eq Route101_EventScript_1A0358 return Route101_EventScript_1A0358:: @ 81A0358 @@ -2291,9 +2275,9 @@ Movement_1A047A: BattleTower_Outside_EventScript_1A047C:: @ 81A047C SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C compare FACING, 1 - call_if 1, BattleTower_Outside_EventScript_160B2F + call_if_eq BattleTower_Outside_EventScript_160B2F compare FACING, 3 - call_if 1, BattleTower_Outside_EventScript_160B3A + call_if_eq BattleTower_Outside_EventScript_160B3A delay 30 hideobjectat 255, MAP_PETALBURG_CITY call BattleTower_Outside_EventScript_1A040E @@ -2461,19 +2445,19 @@ Route119_EventScript_1A05C3:: @ 81A05C3 waitmoncry setwildbattle SPECIES_KECLEON, 30, ITEM_NONE compare VAR_SPECIAL_4, 1 - call_if 1, Route119_EventScript_1A0646 + call_if_eq Route119_EventScript_1A0646 compare VAR_SPECIAL_4, 2 - call_if 1, Route119_EventScript_1A064A + call_if_eq Route119_EventScript_1A064A compare VAR_SPECIAL_4, 3 - call_if 1, Route119_EventScript_1A064E + call_if_eq Route119_EventScript_1A064E compare VAR_SPECIAL_4, 4 - call_if 1, Route119_EventScript_1A0652 + call_if_eq Route119_EventScript_1A0652 compare VAR_SPECIAL_4, 5 - call_if 1, Route119_EventScript_1A0656 + call_if_eq Route119_EventScript_1A0656 compare VAR_SPECIAL_4, 6 - call_if 1, Route119_EventScript_1A065A + call_if_eq Route119_EventScript_1A065A compare VAR_SPECIAL_4, 7 - call_if 1, Route119_EventScript_1A065E + call_if_eq Route119_EventScript_1A065E setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE @@ -3944,8 +3928,7 @@ SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 end SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3086 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3086 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock @@ -3979,8 +3962,7 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5 end SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3102 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3102 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock @@ -4014,8 +3996,7 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121 end SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A317E + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A317E compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock @@ -4049,8 +4030,7 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D end SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A31FA + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A31FA compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock @@ -4084,8 +4064,7 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219 end SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3276 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3276 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock @@ -4119,8 +4098,7 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295 end SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A32F2 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A32F2 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock @@ -4154,8 +4132,7 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311 end SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A336E + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A336E compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock @@ -4189,8 +4166,7 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D end SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A33EA + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A33EA compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock @@ -4224,8 +4200,7 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409 end SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A3466 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A3466 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock @@ -4259,8 +4234,7 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485 end SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, SecretBase_RedCave1_EventScript_1A34E2 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_1A34E2 compare RESULT, 1 goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock @@ -4440,8 +4414,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 compare RESULT, 1 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar VAR_SPECIAL_9, VAR_SPECIAL_6 - checkflag FLAG_OCEANIC_MUSEUM_MET_REPORTER - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 + goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, MSGBOX_YESNO compare RESULT, YES @@ -4569,8 +4542,7 @@ SlateportCity_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 lock faceplayer - checkflag FLAG_TEMP_2 - goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_set FLAG_TEMP_2, FallarborTown_ContestLobby_EventScript_1AE17E setvar VAR_SPECIAL_5, 6 special InterviewBefore compare RESULT, 1 @@ -4630,7 +4602,7 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188 SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188 VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare VAR_LINK_CONTEST_ROOM_STATE, 2 - goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if_ne FallarborTown_ContestLobby_EventScript_1AE1FE setvar VAR_SPECIAL_5, 6 special InterviewBefore compare RESULT, 1 @@ -4666,8 +4638,7 @@ FallarborTown_ContestLobby_EventScript_1AE1FE:: @ 81AE1FE BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF lock faceplayer - checkflag FLAG_TEMP_2 - goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_set FLAG_TEMP_2, BattleTower_Lobby_EventScript_1AE2E3 setvar VAR_SPECIAL_5, 7 special InterviewBefore compare RESULT, 1 @@ -4686,9 +4657,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 multichoice 19, 8, 45, 1 copyvar VAR_SPECIAL_8, RESULT compare RESULT, 0 - call_if 1, BattleTower_Lobby_EventScript_1AE2A1 + call_if_eq BattleTower_Lobby_EventScript_1AE2A1 compare RESULT, 1 - call_if 1, BattleTower_Lobby_EventScript_1AE2AA + call_if_eq BattleTower_Lobby_EventScript_1AE2AA msgbox BattleTower_Lobby_Text_1A79EB, 4 setvar VAR_SPECIAL_4, 12 copyvar VAR_SPECIAL_5, VAR_SPECIAL_9 diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc index a4a7513e5..f5ba25643 100644 --- a/data/field_move_scripts.inc +++ b/data/field_move_scripts.inc @@ -1,7 +1,6 @@ S_CuttableTree:: @ 81B0DCC lockall - checkflag FLAG_BADGE01_GET - goto_if 0, CannotUseCut + goto_if_unset FLAG_BADGE01_GET, CannotUseCut checkpartymove MOVE_CUT compare RESULT, 6 goto_if_eq CannotUseCut @@ -58,8 +57,7 @@ CannotUseCutText: @ 81B0E8E S_BreakableRock:: @ 81B0EB7 lockall - checkflag FLAG_BADGE03_GET - goto_if 0, CannotUseRockSmash + goto_if_unset FLAG_BADGE03_GET, CannotUseRockSmash checkpartymove MOVE_ROCK_SMASH compare RESULT, 6 goto_if_eq CannotUseRockSmash @@ -125,10 +123,8 @@ CannotUseRockSmashText: @ 81B0F90 S_PushableBoulder:: @ 81B0FCB lockall - checkflag FLAG_BADGE04_GET - goto_if 0, CannotUseStrength - checkflag FLAG_SYS_USE_STRENGTH - goto_if_eq AlreadyUsedStrength + goto_if_unset FLAG_BADGE04_GET, CannotUseStrength + goto_if_set FLAG_SYS_USE_STRENGTH, AlreadyUsedStrength checkpartymove 70 compare RESULT, 6 goto_if_eq CannotUseStrength diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index 334a52382..0e2012de9 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -174,8 +174,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 SlateportCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 SootopolisCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 VerdanturfTown_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342 + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_1A4342 copyvar VAR_SPECIAL_7, LAST_TALKED lock faceplayer @@ -282,7 +281,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042 special CheckForAlivePartyMons compare RESULT, 0 - goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056 + goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_1A4056 setvar VAR_SPECIAL_4, 2 return @@ -346,8 +345,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC SlateportCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC SootopolisCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC VerdanturfTown_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC - checkflag FLAG_SYS_POKEDEX_GET - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339 + goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_1A4339 copyvar VAR_SPECIAL_7, LAST_TALKED lock faceplayer @@ -407,7 +405,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166 OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB specialvar RESULT, CalculatePlayerPartyCount compare RESULT, 2 - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1 + goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_1A41E1 specialvar RESULT, GetNameOfEnigmaBerryInPlayerParty compare RESULT, 1 goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A41EE @@ -443,8 +441,7 @@ RustboroCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB SlateportCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB SootopolisCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB VerdanturfTown_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB - checkflag FLAG_VISITED_MAUVILLE_CITY - goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B + goto_if_unset FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_1A434B copyvar VAR_SPECIAL_7, LAST_TALKED lock faceplayer @@ -691,7 +688,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418 special sub_80B929C waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_1A446C + goto_if_ne RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A442D:: @ 81A442D @@ -699,7 +696,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D special sub_80B929C waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_1A446C + goto_if_ne RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A4442:: @ 81A4442 @@ -707,7 +704,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442 special sub_80B929C waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_1A446C + goto_if_ne RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A4457:: @ 81A4457 @@ -715,7 +712,7 @@ RecordCorner_EventScript_1A4457:: @ 81A4457 special sub_80B929C waitstate compare VAR_TEMP_1, 0 - goto_if 5, RecordCorner_EventScript_1A446C + goto_if_ne RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A446C:: @ 81A446C @@ -771,7 +768,7 @@ TradeCenter_EventScript_1A44AD:: @ 81A44AD RecordCorner_EventScript_1A44BC:: @ 81A44BC compare VAR_TEMP_0, 0 - goto_if 5, RecordCorner_EventScript_1A44D6 + goto_if_ne RecordCorner_EventScript_1A44D6 special sub_8064EAC message RecordCorner_Text_1A4DD7 waitmessage diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index af2c39979..7f0f6b710 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -6,11 +6,10 @@ VerdanturfTown_ContestLobby_EventScript_1A4E92:: @ 81A4E92 faceplayer checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 0 - call_if 1, FallarborTown_ContestLobby_EventScript_1A4EDD + call_if_eq FallarborTown_ContestLobby_EventScript_1A4EDD compare VAR_CONTEST_PRIZE_PICKUP, 0 - goto_if 5, FallarborTown_ContestLobby_EventScript_1A4F4E - checkflag FLAG_TEMP_1 - goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F8F + goto_if_ne FallarborTown_ContestLobby_EventScript_1A4F4E + goto_if_set FLAG_TEMP_1, FallarborTown_ContestLobby_EventScript_1A4F8F bufferstdstring 0, VAR_SPECIAL_B msgbox FallarborTown_ContestLobby_Text_1A5DFC, 4 checkitem ITEM_CONTEST_PASS, 1 @@ -40,8 +39,7 @@ FallarborTown_ContestLobby_EventScript_1A4EF6:: @ 81A4EF6 end FallarborTown_ContestLobby_EventScript_1A4F13:: @ 81A4F13 - checkflag FLAG_RECEIVED_CONTEST_PASS - goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F44 + goto_if_set FLAG_RECEIVED_CONTEST_PASS, FallarborTown_ContestLobby_EventScript_1A4F44 msgbox FallarborTown_ContestLobby_Text_1A6583, 4 giveitem_std ITEM_CONTEST_PASS setflag FLAG_RECEIVED_CONTEST_PASS @@ -288,7 +286,7 @@ LinkContestRoom1_EventScript_1A527A:: @ 81A527A call LinkContestRoom1_EventScript_1A5880 addvar VAR_SPECIAL_6, 1 compare VAR_SPECIAL_6, 4 - goto_if 5, LinkContestRoom1_EventScript_1A527A + goto_if_ne LinkContestRoom1_EventScript_1A527A call LinkContestRoom1_EventScript_1A5377 setvar VAR_TEMP_1, 6 return @@ -432,15 +430,15 @@ LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5 LinkContestRoom1_EventScript_1A5455:: @ 81A5455 special sub_80C47A0 compare VAR_CONTEST_LOCATION, 1 - call_if 1, LinkContestRoom1_EventScript_1A555A + call_if_eq LinkContestRoom1_EventScript_1A555A compare VAR_CONTEST_LOCATION, 2 - call_if 1, LinkContestRoom1_EventScript_1A55B8 + call_if_eq LinkContestRoom1_EventScript_1A55B8 compare VAR_CONTEST_LOCATION, 3 - call_if 1, LinkContestRoom1_EventScript_1A5616 + call_if_eq LinkContestRoom1_EventScript_1A5616 compare VAR_CONTEST_LOCATION, 4 - call_if 1, LinkContestRoom1_EventScript_1A5674 + call_if_eq LinkContestRoom1_EventScript_1A5674 compare VAR_CONTEST_LOCATION, 5 - call_if 1, LinkContestRoom1_EventScript_1A56D2 + call_if_eq LinkContestRoom1_EventScript_1A56D2 setvar VAR_TEMP_1, 9 setvar VAR_TEMP_2, 9 setvar VAR_TEMP_3, 9 @@ -450,7 +448,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455 setvar VAR_TEMP_7, 9 setvar VAR_TEMP_8, 9 compare VAR_TEMP_0, 0 - call_if 2, LinkContestRoom1_EventScript_1A54EB + call_if_gt LinkContestRoom1_EventScript_1A54EB setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 @@ -465,123 +463,123 @@ LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB setvar RESULT, 8 special ScriptRandom compare RESULT, 0 - call_if 1, LinkContestRoom1_EventScript_1A5760 + call_if_eq LinkContestRoom1_EventScript_1A5760 compare RESULT, 1 - call_if 1, LinkContestRoom1_EventScript_1A5784 + call_if_eq LinkContestRoom1_EventScript_1A5784 compare RESULT, 2 - call_if 1, LinkContestRoom1_EventScript_1A57A8 + call_if_eq LinkContestRoom1_EventScript_1A57A8 compare RESULT, 3 - call_if 1, LinkContestRoom1_EventScript_1A57CC + call_if_eq LinkContestRoom1_EventScript_1A57CC compare RESULT, 4 - call_if 1, LinkContestRoom1_EventScript_1A57F0 + call_if_eq LinkContestRoom1_EventScript_1A57F0 compare RESULT, 5 - call_if 1, LinkContestRoom1_EventScript_1A5814 + call_if_eq LinkContestRoom1_EventScript_1A5814 compare RESULT, 6 - call_if 1, LinkContestRoom1_EventScript_1A5838 + call_if_eq LinkContestRoom1_EventScript_1A5838 compare RESULT, 7 - call_if 1, LinkContestRoom1_EventScript_1A585C + call_if_eq LinkContestRoom1_EventScript_1A585C compare VAR_TEMP_0, 0 - goto_if 2, LinkContestRoom1_EventScript_1A54EB + goto_if_gt LinkContestRoom1_EventScript_1A54EB waitmovement 0 return LinkContestRoom1_EventScript_1A555A:: @ 81A555A compare VAR_SPECIAL_4, 80 - goto_if 2, LinkContestRoom1_EventScript_1A575A + goto_if_gt LinkContestRoom1_EventScript_1A575A compare VAR_SPECIAL_4, 70 - goto_if 2, LinkContestRoom1_EventScript_1A5754 + goto_if_gt LinkContestRoom1_EventScript_1A5754 compare VAR_SPECIAL_4, 60 - goto_if 2, LinkContestRoom1_EventScript_1A574E + goto_if_gt LinkContestRoom1_EventScript_1A574E compare VAR_SPECIAL_4, 50 - goto_if 2, LinkContestRoom1_EventScript_1A5748 + goto_if_gt LinkContestRoom1_EventScript_1A5748 compare VAR_SPECIAL_4, 40 - goto_if 2, LinkContestRoom1_EventScript_1A5742 + goto_if_gt LinkContestRoom1_EventScript_1A5742 compare VAR_SPECIAL_4, 30 - goto_if 2, LinkContestRoom1_EventScript_1A573C + goto_if_gt LinkContestRoom1_EventScript_1A573C compare VAR_SPECIAL_4, 20 - goto_if 2, LinkContestRoom1_EventScript_1A5736 + goto_if_gt LinkContestRoom1_EventScript_1A5736 compare VAR_SPECIAL_4, 10 - goto_if 2, LinkContestRoom1_EventScript_1A5730 + goto_if_gt LinkContestRoom1_EventScript_1A5730 setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_1A55B8:: @ 81A55B8 compare VAR_SPECIAL_4, 230 - goto_if 2, LinkContestRoom1_EventScript_1A575A + goto_if_gt LinkContestRoom1_EventScript_1A575A compare VAR_SPECIAL_4, 210 - goto_if 2, LinkContestRoom1_EventScript_1A5754 + goto_if_gt LinkContestRoom1_EventScript_1A5754 compare VAR_SPECIAL_4, 190 - goto_if 2, LinkContestRoom1_EventScript_1A574E + goto_if_gt LinkContestRoom1_EventScript_1A574E compare VAR_SPECIAL_4, 170 - goto_if 2, LinkContestRoom1_EventScript_1A5748 + goto_if_gt LinkContestRoom1_EventScript_1A5748 compare VAR_SPECIAL_4, 150 - goto_if 2, LinkContestRoom1_EventScript_1A5742 + goto_if_gt LinkContestRoom1_EventScript_1A5742 compare VAR_SPECIAL_4, 130 - goto_if 2, LinkContestRoom1_EventScript_1A573C + goto_if_gt LinkContestRoom1_EventScript_1A573C compare VAR_SPECIAL_4, 110 - goto_if 2, LinkContestRoom1_EventScript_1A5736 + goto_if_gt LinkContestRoom1_EventScript_1A5736 compare VAR_SPECIAL_4, 90 - goto_if 2, LinkContestRoom1_EventScript_1A5730 + goto_if_gt LinkContestRoom1_EventScript_1A5730 setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_1A5616:: @ 81A5616 compare VAR_SPECIAL_4, 380 - goto_if 2, LinkContestRoom1_EventScript_1A575A + goto_if_gt LinkContestRoom1_EventScript_1A575A compare VAR_SPECIAL_4, 350 - goto_if 2, LinkContestRoom1_EventScript_1A5754 + goto_if_gt LinkContestRoom1_EventScript_1A5754 compare VAR_SPECIAL_4, 320 - goto_if 2, LinkContestRoom1_EventScript_1A574E + goto_if_gt LinkContestRoom1_EventScript_1A574E compare VAR_SPECIAL_4, 290 - goto_if 2, LinkContestRoom1_EventScript_1A5748 + goto_if_gt LinkContestRoom1_EventScript_1A5748 compare VAR_SPECIAL_4, 260 - goto_if 2, LinkContestRoom1_EventScript_1A5742 + goto_if_gt LinkContestRoom1_EventScript_1A5742 compare VAR_SPECIAL_4, 230 - goto_if 2, LinkContestRoom1_EventScript_1A573C + goto_if_gt LinkContestRoom1_EventScript_1A573C compare VAR_SPECIAL_4, 200 - goto_if 2, LinkContestRoom1_EventScript_1A5736 + goto_if_gt LinkContestRoom1_EventScript_1A5736 compare VAR_SPECIAL_4, 170 - goto_if 2, LinkContestRoom1_EventScript_1A5730 + goto_if_gt LinkContestRoom1_EventScript_1A5730 setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_1A5674:: @ 81A5674 compare VAR_SPECIAL_4, 600 - goto_if 2, LinkContestRoom1_EventScript_1A575A + goto_if_gt LinkContestRoom1_EventScript_1A575A compare VAR_SPECIAL_4, 560 - goto_if 2, LinkContestRoom1_EventScript_1A5754 + goto_if_gt LinkContestRoom1_EventScript_1A5754 compare VAR_SPECIAL_4, 520 - goto_if 2, LinkContestRoom1_EventScript_1A574E + goto_if_gt LinkContestRoom1_EventScript_1A574E compare VAR_SPECIAL_4, 480 - goto_if 2, LinkContestRoom1_EventScript_1A5748 + goto_if_gt LinkContestRoom1_EventScript_1A5748 compare VAR_SPECIAL_4, 440 - goto_if 2, LinkContestRoom1_EventScript_1A5742 + goto_if_gt LinkContestRoom1_EventScript_1A5742 compare VAR_SPECIAL_4, 400 - goto_if 2, LinkContestRoom1_EventScript_1A573C + goto_if_gt LinkContestRoom1_EventScript_1A573C compare VAR_SPECIAL_4, 360 - goto_if 2, LinkContestRoom1_EventScript_1A5736 + goto_if_gt LinkContestRoom1_EventScript_1A5736 compare VAR_SPECIAL_4, 320 - goto_if 2, LinkContestRoom1_EventScript_1A5730 + goto_if_gt LinkContestRoom1_EventScript_1A5730 setvar VAR_TEMP_0, 0 return LinkContestRoom1_EventScript_1A56D2:: @ 81A56D2 compare VAR_SPECIAL_4, 600 - goto_if 2, LinkContestRoom1_EventScript_1A575A + goto_if_gt LinkContestRoom1_EventScript_1A575A compare VAR_SPECIAL_4, 550 - goto_if 2, LinkContestRoom1_EventScript_1A5754 + goto_if_gt LinkContestRoom1_EventScript_1A5754 compare VAR_SPECIAL_4, 500 - goto_if 2, LinkContestRoom1_EventScript_1A574E + goto_if_gt LinkContestRoom1_EventScript_1A574E compare VAR_SPECIAL_4, 450 - goto_if 2, LinkContestRoom1_EventScript_1A5748 + goto_if_gt LinkContestRoom1_EventScript_1A5748 compare VAR_SPECIAL_4, 400 - goto_if 2, LinkContestRoom1_EventScript_1A5742 + goto_if_gt LinkContestRoom1_EventScript_1A5742 compare VAR_SPECIAL_4, 300 - goto_if 2, LinkContestRoom1_EventScript_1A573C + goto_if_gt LinkContestRoom1_EventScript_1A573C compare VAR_SPECIAL_4, 200 - goto_if 2, LinkContestRoom1_EventScript_1A5736 + goto_if_gt LinkContestRoom1_EventScript_1A5736 compare VAR_SPECIAL_4, 100 - goto_if 2, LinkContestRoom1_EventScript_1A5730 + goto_if_gt LinkContestRoom1_EventScript_1A5730 setvar VAR_TEMP_0, 0 return @@ -909,7 +907,7 @@ LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90 addvar VAR_TEMP_1, 1 lockall compare VAR_CONTEST_LOCATION, 1 - call_if 2, LinkContestRoom1_EventScript_1A5AE4 + call_if_gt LinkContestRoom1_EventScript_1A5AE4 applymovement 9, LinkContestRoom1_Movement_1A5DB7 applymovement 12, LinkContestRoom1_Movement_1A5DBB applymovement 7, LinkContestRoom1_Movement_1A5DB7 @@ -919,7 +917,7 @@ LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90 applymovement 6, LinkContestRoom1_Movement_1A5DB3 applymovement 8, LinkContestRoom1_Movement_1A5DAF compare VAR_TEMP_1, 4 - goto_if 5, LinkContestRoom1_EventScript_1A5A90 + goto_if_ne LinkContestRoom1_EventScript_1A5A90 delay 30 return @@ -996,8 +994,7 @@ LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB compare VAR_CONTEST_LOCATION, 5 goto_if_eq LinkContestRoom1_EventScript_1A5C4C call LinkContestRoom1_EventScript_1A5C12 - checkflag FLAG_TEMP_2 - goto_if_eq LinkContestRoom1_EventScript_1A5BF6 + goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_1A5BF6 msgbox LinkContestRoom1_Text_1A6DC5, 3 waitmessage call LinkContestRoom1_EventScript_1A5C7F @@ -1118,7 +1115,7 @@ LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5 LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC compare VAR_CONTEST_LOCATION, 2 - call_if 1, LinkContestRoom1_EventScript_1A5C42 + call_if_eq LinkContestRoom1_EventScript_1A5C42 incrementgamestat GAME_STAT_WON_CONTEST specialvar RESULT, sub_80C4440 compare RESULT, 0 diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 0d0d83801..fc5df6abe 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -29,7 +29,7 @@ Route117_EventScript_1B2262:: @ 81B2262 Route117_EventScript_1B2298:: @ 81B2298 specialvar RESULT, CalculatePlayerPartyCount compare RESULT, 6 - goto_if 5, Route117_EventScript_1B22B2 + goto_if_ne Route117_EventScript_1B22B2 msgbox Route117_Text_1B2766, 4 release end @@ -49,7 +49,7 @@ Route117_EventScript_1B22B2:: @ 81B22B2 Route117_EventScript_1B22CD:: @ 81B22CD specialvar RESULT, sub_8042B4C compare RESULT, 1 - call_if 1, Route117_EventScript_1B22DE + call_if_eq Route117_EventScript_1B22DE return Route117_EventScript_1B22DE:: @ 81B22DE @@ -155,7 +155,7 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411 Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A specialvar RESULT, GetNumLevelsGainedFromDaycare compare RESULT, 0 - call_if 5, Route117_PokemonDayCare_EventScript_1B2411 + call_if_ne Route117_PokemonDayCare_EventScript_1B2411 return Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index ad7a3d3c5..5ddcf4a65 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -203,13 +203,12 @@ Route111_EventScript_1AE5A2:: @ 81AE5A2 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 - call_if 1, Route111_EventScript_1AE5E0 + call_if_eq Route111_EventScript_1AE5E0 compare FACING, 1 - call_if 1, Route111_EventScript_1AE5EB + call_if_eq Route111_EventScript_1AE5EB compare FACING, 4 - call_if 1, Route111_EventScript_1AE5FD - checkflag FLAG_TEMP_1 - goto_if_eq Route111_EventScript_1AE73A + call_if_eq Route111_EventScript_1AE5FD + goto_if_set FLAG_TEMP_1, Route111_EventScript_1AE73A msgbox Route111_Text_1AC015, MSGBOX_YESNO goto Route111_EventScript_1AE6F3 end @@ -237,13 +236,12 @@ Route120_EventScript_1AE60F:: @ 81AE60F special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 - call_if 1, Route111_EventScript_1AE5E0 + call_if_eq Route111_EventScript_1AE5E0 compare FACING, 1 - call_if 1, Route111_EventScript_1AE5EB + call_if_eq Route111_EventScript_1AE5EB compare FACING, 4 - call_if 1, Route111_EventScript_1AE5FD - checkflag FLAG_TEMP_1 - goto_if_eq Route111_EventScript_1AE73A + call_if_eq Route111_EventScript_1AE5FD + goto_if_set FLAG_TEMP_1, Route111_EventScript_1AE73A specialvar RESULT, GabbyAndTyGetLastQuote compare RESULT, 0 goto_if_eq Route111_EventScript_1AE69F diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc index 11f42daf0..ed81e6628 100644 --- a/data/scripts/magma_chimney.inc +++ b/data/scripts/magma_chimney.inc @@ -1,10 +1,8 @@ MtChimney_EventScript_1B2C95:: @ 81B2C95 lock faceplayer - checkflag FLAG_EVIL_LEADER_PLEASE_STOP - call_if 0, MtChimney_EventScript_1B2CB9 - checkflag FLAG_EVIL_LEADER_PLEASE_STOP - call_if 1, MtChimney_EventScript_1B2CC2 + call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_1B2CB9 + call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_1B2CC2 closemessage applymovement 1, MtChimney_Movement_1A083D waitmovement 0 @@ -68,9 +66,9 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB setobjectxyperm 1, 10, 12 addobject 1 compare FACING, 4 - call_if 1, MtChimney_EventScript_1B2D7D + call_if_eq MtChimney_EventScript_1B2D7D compare FACING, 2 - call_if 1, MtChimney_EventScript_1B2D88 + call_if_eq MtChimney_EventScript_1B2D88 applymovement 255, MtChimney_Movement_1A083F waitmovement 0 .ifdef SAPPHIRE @@ -80,9 +78,9 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB .endif closemessage compare FACING, 4 - call_if 1, MtChimney_EventScript_1B2D93 + call_if_eq MtChimney_EventScript_1B2D93 compare FACING, 2 - call_if 1, MtChimney_EventScript_1B2D9E + call_if_eq MtChimney_EventScript_1B2D9E removeobject 1 setflag FLAG_HIDE_OTEHR_TEAM_MT_CHIMNEY setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc index 2430ba4af..22c76847a 100644 --- a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc +++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc @@ -4,13 +4,11 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 815EAF4 AbandonedShip_CaptainsOffice_EventScript_15EAF5:: @ 815EAF5 lock faceplayer - checkflag FLAG_EXCHANGED_SCANNER - goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D + goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_15EB2D checkitem ITEM_SCANNER, 1 compare RESULT, 1 goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB23 - checkflag FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2 - goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D + goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2, AbandonedShip_CaptainsOffice_EventScript_15EB2D msgbox AbandonedShip_CaptainsOffice_Text_198C85, 4 release end diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc index b4d29632e..c34f2c28b 100644 --- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc +++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc @@ -8,10 +8,8 @@ AbandonedShip_Corridors_B1F_MapScript1_15E99A:: @ 815E99A end AbandonedShip_Corridors_B1F_MapScript1_15E9A3:: @ 815E9A3 - checkflag FLAG_USED_STORAGE_KEY - call_if 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6 - checkflag FLAG_USED_STORAGE_KEY - call_if 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0 + call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15E9B6 + call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15E9C0 end AbandonedShip_Corridors_B1F_EventScript_15E9B6:: @ 815E9B6 @@ -28,8 +26,7 @@ AbandonedShip_Corridors_B1F_EventScript_15E9CA:: @ 815E9CA AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3 lockall - checkflag FLAG_USED_STORAGE_KEY - goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA14 + goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_15EA14 checkitem ITEM_STORAGE_KEY, 1 compare RESULT, 0 goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA0A diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc index 7b61190e5..e8e48a6f6 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc @@ -8,22 +8,14 @@ AbandonedShip_HiddenFloorCorridors_MapScript1_15EB51:: @ 815EB51 end AbandonedShip_HiddenFloorCorridors_MapScript1_15EB5A:: @ 815EB5A - checkflag FLAG_USED_ROOM_1_KEY - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB - checkflag FLAG_USED_ROOM_2_KEY - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5 - checkflag FLAG_USED_ROOM_4_KEY - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF - checkflag FLAG_USED_ROOM_6_KEY - call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9 - checkflag FLAG_USED_ROOM_1_KEY - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 - checkflag FLAG_USED_ROOM_2_KEY - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD - checkflag FLAG_USED_ROOM_4_KEY - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 - checkflag FLAG_USED_ROOM_6_KEY - call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 + call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB + call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5 + call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF + call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9 + call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 + call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD + call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 + call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 end AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3:: @ 815EBA3 @@ -60,8 +52,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9:: @ 815EBE9 AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 lockall - checkflag FLAG_USED_ROOM_1_KEY - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_1_KEY, 1 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF @@ -76,8 +67,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A lockall - checkflag FLAG_USED_ROOM_2_KEY - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_2_KEY, 1 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9 @@ -92,8 +82,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 lockall - checkflag FLAG_USED_ROOM_4_KEY - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_4_KEY, 1 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3 @@ -108,8 +97,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98 lockall - checkflag FLAG_USED_ROOM_6_KEY - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_6_KEY, 1 compare RESULT, 0 goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc index 9ad419da1..7f9b06500 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc @@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED11:: @ 815ED11 getplayerxy VAR_TEMP_2, VAR_TEMP_3 setvar VAR_TEMP_4, 1 compare VAR_TEMP_2, 21 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED89 compare VAR_TEMP_2, 36 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED8F compare VAR_TEMP_3, 2 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15ED95 switch VAR_TEMP_4 case 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED9B case 2, AbandonedShip_HiddenFloorRooms_EventScript_15EDC4 @@ -45,7 +45,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B dofieldeffect 54 specialvar RESULT, FoundAbandonedShipRoom4Key compare RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE8B waitfieldeffect 54 delay 10 end @@ -59,7 +59,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5 goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA delay 20 compare RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE6B waitfieldeffect 54 delay 10 end @@ -79,7 +79,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB dofieldeffect 54 specialvar RESULT, FoundAbandonedShipRoom6Key compare RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE9B waitfieldeffect 54 delay 10 end @@ -100,7 +100,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23 dofieldeffect 54 specialvar RESULT, FoundAbandonedShipRoom2Key compare RESULT, 0 - call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EE7B waitfieldeffect 54 delay 10 end diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc index b849f41ba..8ff39c0a4 100644 --- a/data/scripts/maps/AncientTomb.inc +++ b/data/scripts/maps/AncientTomb.inc @@ -5,8 +5,7 @@ AncientTomb_MapScripts:: @ 815EFBE .byte 0 AncientTomb_MapScript1_15EFCE:: @ 815EFCE - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, AncientTomb_EventScript_15EFD8 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_15EFD8 end AncientTomb_EventScript_15EFD8:: @ 815EFD8 @@ -18,8 +17,7 @@ AncientTomb_MapScript1_15EFDC:: @ 815EFDC end AncientTomb_MapScript1_15EFE0:: @ 815EFE0 - checkflag FLAG_SYS_BRAILLE_FLY - call_if 0, AncientTomb_EventScript_15EFEA + call_if_unset FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_15EFEA end AncientTomb_EventScript_15EFEA:: @ 815EFEA @@ -33,8 +31,7 @@ AncientTomb_EventScript_15EFEA:: @ 815EFEA AncientTomb_EventScript_15F021:: @ 815F021 lockall - checkflag FLAG_SYS_BRAILLE_FLY - goto_if_eq AncientTomb_EventScript_15F038 + goto_if_set FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_15F038 braillemessage AncientTomb_Braille_1C552E waitbuttonpress erasebox 0, 0, 29, 19 diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc index 028a0ee7b..ee49ba695 100644 --- a/data/scripts/maps/AquaHideout_1F.inc +++ b/data/scripts/maps/AquaHideout_1F.inc @@ -10,8 +10,7 @@ AquaHideout_1F_EventScript_15D7CE:: @ 815D7CE MagmaHideout_1F_EventScript_15D7CE:: @ 815D7CE lock faceplayer - checkflag FLAG_MT_PYRE_ORB_STOLEN - goto_if_eq AquaHideout_1F_EventScript_15D7E3 + goto_if_set FLAG_MT_PYRE_ORB_STOLEN, AquaHideout_1F_EventScript_15D7E3 msgbox AquaHideout_1F_Text_196AFD, 4 release end @@ -25,8 +24,7 @@ AquaHideout_1F_EventScript_15D7ED:: @ 815D7ED MagmaHideout_1F_EventScript_15D7ED:: @ 815D7ED lock faceplayer - checkflag FLAG_MT_PYRE_ORB_STOLEN - goto_if_eq AquaHideout_1F_EventScript_15D802 + goto_if_set FLAG_MT_PYRE_ORB_STOLEN, AquaHideout_1F_EventScript_15D802 msgbox AquaHideout_1F_Text_196C83, 4 release end diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc index 82d0c10c5..3be8d487d 100644 --- a/data/scripts/maps/AquaHideout_B1F.inc +++ b/data/scripts/maps/AquaHideout_B1F.inc @@ -4,8 +4,7 @@ AquaHideout_B1F_MapScripts:: @ 815D831 .byte 0 AquaHideout_B1F_MapScript1_15D83C:: @ 815D83C - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, AquaHideout_B1F_EventScript_15D846 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_15D846 end AquaHideout_B1F_EventScript_15D846:: @ 815D846 diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc index 14b85c5b0..57eb62dfe 100644 --- a/data/scripts/maps/BattleTower_Lobby.inc +++ b/data/scripts/maps/BattleTower_Lobby.inc @@ -13,13 +13,11 @@ BattleTower_Lobby_MapScript1_160293:: @ 8160293 BattleTower_Lobby_EventScript_16029C:: @ 816029C setvar VAR_SPECIAL_4, 10 special SetBattleTowerProperty - checkflag FLAG_RECEIVED_GOLD_SHIELD - goto_if_eq BattleTower_Lobby_EventScript_1602E4 - checkflag FLAG_RECEIVED_SILVER_SHIELD - goto_if_eq BattleTower_Lobby_EventScript_1602CD + goto_if_set FLAG_RECEIVED_GOLD_SHIELD, BattleTower_Lobby_EventScript_1602E4 + goto_if_set FLAG_RECEIVED_SILVER_SHIELD, BattleTower_Lobby_EventScript_1602CD specialvar VAR_SPECIAL_7, GetBestBattleTowerStreak compare VAR_SPECIAL_7, 50 - goto_if 0, BattleTower_Lobby_EventScript_1602E4 + goto_if_lt BattleTower_Lobby_EventScript_1602E4 clearflag FLAG_HIDE_AWARD_MAN_BATTLE_TOWER special sub_810F8FC return @@ -27,7 +25,7 @@ BattleTower_Lobby_EventScript_16029C:: @ 816029C BattleTower_Lobby_EventScript_1602CD:: @ 81602CD specialvar VAR_SPECIAL_7, GetBestBattleTowerStreak compare VAR_SPECIAL_7, 100 - goto_if 0, BattleTower_Lobby_EventScript_1602E4 + goto_if_lt BattleTower_Lobby_EventScript_1602E4 clearflag FLAG_HIDE_AWARD_MAN_BATTLE_TOWER special sub_810F8FC return @@ -119,7 +117,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD setvar VAR_SPECIAL_4, 9 special BattleTowerUtil compare RESULT, 49 - goto_if 5, BattleTower_Lobby_EventScript_1603F8 + goto_if_ne BattleTower_Lobby_EventScript_1603F8 msgbox BattleTower_Lobby_Text_19A617, 4 BattleTower_Lobby_EventScript_1603F8:: @ 81603F8 @@ -387,10 +385,8 @@ BattleTower_Lobby_EventScript_160727:: @ 8160727 BattleTower_Lobby_EventScript_160733:: @ 8160733 lock faceplayer - checkflag FLAG_RECEIVED_GOLD_SHIELD - goto_if_eq BattleTower_Lobby_EventScript_1607C5 - checkflag FLAG_RECEIVED_SILVER_SHIELD - goto_if_eq BattleTower_Lobby_EventScript_160773 + goto_if_set FLAG_RECEIVED_GOLD_SHIELD, BattleTower_Lobby_EventScript_1607C5 + goto_if_set FLAG_RECEIVED_SILVER_SHIELD, BattleTower_Lobby_EventScript_160773 msgbox BattleTower_Lobby_Text_19A9EE, 4 setvar VAR_SPECIAL_8, DECOR_SILVER_SHIELD givedecoration_std DECOR_SILVER_SHIELD @@ -404,7 +400,7 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733 BattleTower_Lobby_EventScript_160773:: @ 8160773 specialvar RESULT, GetBestBattleTowerStreak compare RESULT, 100 - goto_if 0, BattleTower_Lobby_EventScript_1607C5 + goto_if_lt BattleTower_Lobby_EventScript_1607C5 msgbox BattleTower_Lobby_Text_19AAC4, 4 setvar VAR_SPECIAL_8, DECOR_GOLD_SHIELD givedecoration_std DECOR_GOLD_SHIELD diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc index 6411aad49..58c6563f6 100644 --- a/data/scripts/maps/CaveOfOrigin_1F.inc +++ b/data/scripts/maps/CaveOfOrigin_1F.inc @@ -3,6 +3,5 @@ CaveOfOrigin_1F_MapScripts:: @ 815DD6C .byte 0 CaveOfOrigin_1F_MapScript1_15DD72:: @ 815DD72 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, CaveOfOrigin_1F_EventScript_1A04E3 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_1F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc index b8d4149b6..c79eb088e 100644 --- a/data/scripts/maps/CaveOfOrigin_B1F.inc +++ b/data/scripts/maps/CaveOfOrigin_B1F.inc @@ -3,6 +3,5 @@ CaveOfOrigin_B1F_MapScripts:: @ 815DD7C .byte 0 CaveOfOrigin_B1F_MapScript1_15DD82:: @ 815DD82 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, CaveOfOrigin_B1F_EventScript_1A04E3 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B1F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B2F.inc b/data/scripts/maps/CaveOfOrigin_B2F.inc index 9b014d0e9..66b02ee9f 100644 --- a/data/scripts/maps/CaveOfOrigin_B2F.inc +++ b/data/scripts/maps/CaveOfOrigin_B2F.inc @@ -3,6 +3,5 @@ CaveOfOrigin_B2F_MapScripts:: @ 815DD8C .byte 0 CaveOfOrigin_B2F_MapScript1_15DD92:: @ 815DD92 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, CaveOfOrigin_B2F_EventScript_1A04E3 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B2F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B3F.inc b/data/scripts/maps/CaveOfOrigin_B3F.inc index d6f7bdaf1..8084ceb43 100644 --- a/data/scripts/maps/CaveOfOrigin_B3F.inc +++ b/data/scripts/maps/CaveOfOrigin_B3F.inc @@ -3,6 +3,5 @@ CaveOfOrigin_B3F_MapScripts:: @ 815DD9C .byte 0 CaveOfOrigin_B3F_MapScript1_15DDA2:: @ 815DDA2 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, CaveOfOrigin_B3F_EventScript_1A04E3 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B3F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc index 315dda886..aa79e1213 100644 --- a/data/scripts/maps/CaveOfOrigin_B4F.inc +++ b/data/scripts/maps/CaveOfOrigin_B4F.inc @@ -4,8 +4,7 @@ CaveOfOrigin_B4F_MapScripts:: @ 815DDAC .byte 0 CaveOfOrigin_B4F_MapScript1_15DDB7:: @ 815DDB7 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, CaveOfOrigin_B4F_EventScript_15DDC1 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, CaveOfOrigin_B4F_EventScript_15DDC1 end CaveOfOrigin_B4F_EventScript_15DDC1:: @ 815DDC1 @@ -19,8 +18,7 @@ CaveOfOrigin_B4F_MapScript1_15DDC5:: @ 815DDC5 setmaplayoutindex 313 .endif call CaveOfOrigin_B4F_EventScript_1A01B5 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, CaveOfOrigin_B4F_EventScript_1A04E3 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, CaveOfOrigin_B4F_EventScript_1A04E3 end CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 @@ -67,7 +65,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar RESULT, GetBattleOutcome compare RESULT, 1 - call_if 1, CaveOfOrigin_B4F_EventScript_15DE73 + call_if_eq CaveOfOrigin_B4F_EventScript_15DE73 setflag FLAG_HIDE_WALLACE_SOOTOPOLIS setflag FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1 setflag FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2 diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc index 7aa56a82d..2627a8261 100644 --- a/data/scripts/maps/DesertRuins.inc +++ b/data/scripts/maps/DesertRuins.inc @@ -5,8 +5,7 @@ DesertRuins_MapScripts:: @ 815CAF3 .byte 0 DesertRuins_MapScript1_15CB03:: @ 815CB03 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, DesertRuins_EventScript_15CB0D + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_15CB0D end DesertRuins_EventScript_15CB0D:: @ 815CB0D @@ -14,8 +13,7 @@ DesertRuins_EventScript_15CB0D:: @ 815CB0D return DesertRuins_MapScript1_15CB11:: @ 815CB11 - checkflag FLAG_SYS_BRAILLE_STRENGTH - call_if 0, DesertRuins_EventScript_15CB1B + call_if_unset FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_15CB1B end DesertRuins_EventScript_15CB1B:: @ 815CB1B @@ -33,8 +31,7 @@ DesertRuins_MapScript1_15CB52:: @ 815CB52 DesertRuins_EventScript_15CB56:: @ 815CB56 lockall - checkflag FLAG_SYS_BRAILLE_STRENGTH - goto_if_eq DesertRuins_EventScript_15CB6D + goto_if_set FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_15CB6D braillemessage DesertRuins_Braille_1C54C8 waitbuttonpress erasebox 0, 0, 29, 19 diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc index 50c9d8991..e7aeccbd0 100644 --- a/data/scripts/maps/DewfordTown.inc +++ b/data/scripts/maps/DewfordTown.inc @@ -9,8 +9,7 @@ DewfordTown_MapScript1_14DFFE:: @ 814DFFE DewfordTown_EventScript_14E002:: @ 814E002 lock faceplayer - checkflag FLAG_DELIVERED_STEVEN_LETTER - goto_if 0, DewfordTown_EventScript_14E076 + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_14E076 message DewfordTown_Text_16B522 waitmessage multichoicedefault 21, 6, 0, 2, 0 @@ -74,8 +73,7 @@ DewfordTown_EventScript_14E0BD:: @ 814E0BD DewfordTown_EventScript_14E0C6:: @ 814E0C6 lock faceplayer - checkflag FLAG_RECEIVED_OLD_ROD - goto_if_eq DewfordTown_EventScript_14E11B + goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_14E11B msgbox DewfordTown_Text_16B665, MSGBOX_YESNO compare RESULT, YES goto_if_eq DewfordTown_EventScript_14E0F0 @@ -176,10 +174,8 @@ DewfordTown_EventScript_14E1D8:: @ 814E1D8 clearflag FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109 setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD hideobjectat 4, MAP_DEWFORD_TOWN - checkflag FLAG_DELIVERED_DEVON_GOODS - call_if 0, DewfordTown_EventScript_14E281 - checkflag FLAG_DELIVERED_DEVON_GOODS - call_if 1, DewfordTown_EventScript_14E28A + call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_14E281 + call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_14E28A closemessage copyvar VAR_BRINEY_LOCATION, VAR_SPECIAL_8 resetobjectpriority 255, MAP_DEWFORD_TOWN diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc index ba933dbe9..7cdf3dd6a 100644 --- a/data/scripts/maps/DewfordTown_Gym.inc +++ b/data/scripts/maps/DewfordTown_Gym.inc @@ -7,8 +7,7 @@ DewfordTown_Gym_MapScript1_15306B:: @ 815306B end DewfordTown_Gym_EventScript_153071:: @ 8153071 - checktrainerflag OPPONENT_BRAWLY - goto_if_eq DewfordTown_Gym_EventScript_1530AA + goto_if_trainer_defeated OPPONENT_BRAWLY, DewfordTown_Gym_EventScript_1530AA call DewfordTown_Gym_EventScript_153122 copyvar VAR_SPECIAL_1, VAR_SPECIAL_0 compare VAR_SPECIAL_0, 0 @@ -81,18 +80,15 @@ DewfordTown_Gym_EventScript_153117:: @ 8153117 DewfordTown_Gym_EventScript_153122:: @ 8153122 setvar VAR_SPECIAL_0, 0 - checktrainerflag OPPONENT_HIDEKI - goto_if 0, DewfordTown_Gym_EventScript_153135 + goto_if_trainer_not_defeated OPPONENT_HIDEKI, DewfordTown_Gym_EventScript_153135 addvar VAR_SPECIAL_0, 1 DewfordTown_Gym_EventScript_153135:: @ 8153135 - checktrainerflag OPPONENT_TESSA - goto_if 0, DewfordTown_Gym_EventScript_153143 + goto_if_trainer_not_defeated OPPONENT_TESSA, DewfordTown_Gym_EventScript_153143 addvar VAR_SPECIAL_0, 1 DewfordTown_Gym_EventScript_153143:: @ 8153143 - checktrainerflag OPPONENT_LAURA - goto_if 0, DewfordTown_Gym_EventScript_153151 + goto_if_trainer_not_defeated OPPONENT_LAURA, DewfordTown_Gym_EventScript_153151 addvar VAR_SPECIAL_0, 1 DewfordTown_Gym_EventScript_153151:: @ 8153151 @@ -100,8 +96,7 @@ DewfordTown_Gym_EventScript_153151:: @ 8153151 DewfordTown_Gym_EventScript_153152:: @ 8153152 trainerbattle 1, OPPONENT_BRAWLY, 0, DewfordTown_Gym_Text_175182, DewfordTown_Gym_Text_175246, DewfordTown_Gym_EventScript_153177 - checkflag FLAG_RECEIVED_TM08 - goto_if 0, DewfordTown_Gym_EventScript_1531B5 + goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1531B5 msgbox DewfordTown_Gym_Text_175412, 4 release end @@ -116,7 +111,7 @@ DewfordTown_Gym_EventScript_153177:: @ 8153177 setflag FLAG_BADGE02_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if 1, DewfordTown_Gym_EventScript_1A00FB + call_if_eq DewfordTown_Gym_EventScript_1A00FB setvar VAR_SPECIAL_8, 2 call DewfordTown_Gym_EventScript_1A01C0 goto DewfordTown_Gym_EventScript_1531B5 @@ -164,8 +159,7 @@ DewfordTown_Gym_EventScript_153238:: @ 8153238 DewfordTown_Gym_EventScript_15323F:: @ 815323F lock faceplayer - checkflag FLAG_DEFEATED_DEWFORD_GYM - goto_if_eq DewfordTown_Gym_EventScript_153254 + goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_153254 msgbox DewfordTown_Gym_Text_174D98, 4 release end @@ -177,15 +171,13 @@ DewfordTown_Gym_EventScript_153254:: @ 8153254 DewfordTown_Gym_EventScript_15325E:: @ 815325E lockall - checkflag FLAG_BADGE02_GET - goto_if_eq DewfordTown_Gym_EventScript_15327E + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_15327E goto DewfordTown_Gym_EventScript_153288 end DewfordTown_Gym_EventScript_15326E:: @ 815326E lockall - checkflag FLAG_BADGE02_GET - goto_if_eq DewfordTown_Gym_EventScript_15327E + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_15327E goto DewfordTown_Gym_EventScript_153288 end diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc index c4ccc769c..84334068e 100644 --- a/data/scripts/maps/DewfordTown_Hall.inc +++ b/data/scripts/maps/DewfordTown_Hall.inc @@ -218,9 +218,9 @@ DewfordTown_Hall_EventScript_153535:: @ 8153535 DewfordTown_Hall_EventScript_153556:: @ 8153556 compare FACING, 2 - call_if 1, DewfordTown_Hall_EventScript_15356D + call_if_eq DewfordTown_Hall_EventScript_15356D compare FACING, 1 - call_if 1, DewfordTown_Hall_EventScript_153578 + call_if_eq DewfordTown_Hall_EventScript_153578 return DewfordTown_Hall_EventScript_15356D:: @ 815356D @@ -252,8 +252,7 @@ DewfordTown_Hall_EventScript_15359D:: @ 815359D lock faceplayer call DewfordTown_Hall_EventScript_1A0102 - checkflag FLAG_RECEIVED_TM36 - goto_if_eq DewfordTown_Hall_EventScript_1535D1 + goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_1535D1 msgbox DewfordTown_Hall_Text_175E13, 4 giveitem_std ITEM_TM36 compare RESULT, 0 diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc index e704efa50..a2341bc76 100644 --- a/data/scripts/maps/DewfordTown_House2.inc +++ b/data/scripts/maps/DewfordTown_House2.inc @@ -4,8 +4,7 @@ DewfordTown_House2_MapScripts:: @ 81535DB DewfordTown_House2_EventScript_1535DC:: @ 81535DC lock faceplayer - checkflag FLAG_RECEIVED_SILK_SCARF - goto_if_eq DewfordTown_House2_EventScript_153615 + goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_153615 msgbox DewfordTown_House2_Text_175EFE, 4 giveitem_std ITEM_SILK_SCARF compare RESULT, 0 diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc index 9a1bd9fa7..293780716 100644 --- a/data/scripts/maps/EverGrandeCity.inc +++ b/data/scripts/maps/EverGrandeCity.inc @@ -3,8 +3,7 @@ EverGrandeCity_MapScripts:: @ 814D4D5 .byte 0 EverGrandeCity_MapScript1_14D4DB:: @ 814D4DB - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, EverGrandeCity_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, EverGrandeCity_EventScript_1A02C1 end EverGrandeCity_EventScript_14D4E5:: @ 814D4E5 diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc index 29c29c80b..78009271b 100644 --- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -54,9 +54,9 @@ EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821 playse SE_DOOR checkplayergender compare RESULT, 0 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B87C compare RESULT, 1 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B881 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B881 addobject 2 call EverGrandeCity_ChampionsRoom_EventScript_15B9BD checkplayergender @@ -129,9 +129,9 @@ EverGrandeCity_ChampionsRoom_EventScript_15B8F0:: @ 815B8F0 msgbox EverGrandeCity_ChampionsRoom_Text_191546, 4 checkplayergender compare RESULT, 0 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B9AB compare RESULT, 1 - call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B9B4 closemessage applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0 diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc index a738264fe..8eb7bbc45 100644 --- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -24,10 +24,9 @@ EverGrandeCity_DrakesRoom_EventScript_15B736:: @ 815B736 end EverGrandeCity_DrakesRoom_MapScript1_15B743:: @ 815B743 - checkflag FLAG_DEFEATED_ELITE_4_DRAKE - call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B758 + call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_15B758 compare VAR_ELITE_4_STATE, 4 - call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B75E + call_if_eq EverGrandeCity_DrakesRoom_EventScript_15B75E end EverGrandeCity_DrakesRoom_EventScript_15B758:: @ 815B758 @@ -41,8 +40,7 @@ EverGrandeCity_DrakesRoom_EventScript_15B75E:: @ 815B75E EverGrandeCity_DrakesRoom_EventScript_15B764:: @ 815B764 lock faceplayer - checkflag FLAG_DEFEATED_ELITE_4_DRAKE - goto_if_eq EverGrandeCity_DrakesRoom_EventScript_15B78B + goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_15B78B playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_DrakesRoom_Text_190CEB, 4 trainerbattle 3, OPPONENT_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_190E42 diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc index e3a4145d6..a72b84440 100644 --- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc +++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc @@ -24,10 +24,9 @@ EverGrandeCity_GlaciasRoom_EventScript_15B69C:: @ 815B69C end EverGrandeCity_GlaciasRoom_MapScript1_15B6A9:: @ 815B6A9 - checkflag FLAG_DEFEATED_ELITE_4_GLACIA - call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE + call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_15B6BE compare VAR_ELITE_4_STATE, 3 - call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4 + call_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6C4 end EverGrandeCity_GlaciasRoom_EventScript_15B6BE:: @ 815B6BE @@ -41,8 +40,7 @@ EverGrandeCity_GlaciasRoom_EventScript_15B6C4:: @ 815B6C4 EverGrandeCity_GlaciasRoom_EventScript_15B6CA:: @ 815B6CA lock faceplayer - checkflag FLAG_DEFEATED_ELITE_4_GLACIA - goto_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6F1 + goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_15B6F1 playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_GlaciasRoom_Text_190AF9, 4 trainerbattle 3, OPPONENT_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_190C01 diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc index d23f234db..2d09f1ebb 100644 --- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc @@ -24,10 +24,9 @@ EverGrandeCity_PhoebesRoom_EventScript_15B602:: @ 815B602 end EverGrandeCity_PhoebesRoom_MapScript1_15B60F:: @ 815B60F - checkflag FLAG_DEFEATED_ELITE_4_PHOEBE - call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B624 + call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_15B624 compare VAR_ELITE_4_STATE, 2 - call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A + call_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B62A end EverGrandeCity_PhoebesRoom_EventScript_15B624:: @ 815B624 @@ -41,8 +40,7 @@ EverGrandeCity_PhoebesRoom_EventScript_15B62A:: @ 815B62A EverGrandeCity_PhoebesRoom_EventScript_15B630:: @ 815B630 lock faceplayer - checkflag FLAG_DEFEATED_ELITE_4_PHOEBE - goto_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B657 + goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_15B657 playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_PhoebesRoom_Text_1908F5, 4 trainerbattle 3, OPPONENT_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_190A0C diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc index a787b0f90..a8eb820ea 100644 --- a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc @@ -5,8 +5,7 @@ EverGrandeCity_PokemonLeague_MapScripts:: @ 815BA75 EverGrandeCity_PokemonLeague_MapScript1_15BA7B:: @ 815BA7B setrespawn 20 setflag FLAG_SYS_POKEMON_LEAGUE_FLY - checkflag FLAG_ENTERED_ELITE_FOUR - call_if 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B + call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_EventScript_15BA8B end EverGrandeCity_PokemonLeague_EventScript_15BA8B:: @ 815BA8B @@ -47,18 +46,16 @@ EverGrandeCity_PokemonLeague_Items:: @ 815BAC0 EverGrandeCity_PokemonLeague_EventScript_15BAD2:: @ 815BAD2 lockall - checkflag FLAG_ENTERED_ELITE_FOUR - goto_if_eq EverGrandeCity_PokemonLeague_EventScript_15BB57 + goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_EventScript_15BB57 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 11 - call_if 4, EverGrandeCity_PokemonLeague_EventScript_15BB34 + call_if_ge EverGrandeCity_PokemonLeague_EventScript_15BB34 compare VAR_TEMP_0, 8 - call_if 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F + call_if_le EverGrandeCity_PokemonLeague_EventScript_15BB3F message EverGrandeCity_PokemonLeague_Text_1916FD waitmessage delay 75 - checkflag FLAG_BADGE06_GET - goto_if 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A + goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_EventScript_15BB4A closemessage applymovement 3, EverGrandeCity_PokemonLeague_Movement_15BB7E applymovement 4, EverGrandeCity_PokemonLeague_Movement_15BB81 diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc index 4531845ab..45a729c0a 100644 --- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc +++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc @@ -5,10 +5,9 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 815B53F .byte 0 EverGrandeCity_SidneysRoom_MapScript1_15B54F:: @ 815B54F - checkflag FLAG_DEFEATED_ELITE_4_SYDNEY - call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B564 + call_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_15B564 compare VAR_ELITE_4_STATE, 1 - call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B56A + call_if_eq EverGrandeCity_SidneysRoom_EventScript_15B56A end EverGrandeCity_SidneysRoom_EventScript_15B564:: @ 815B564 @@ -42,8 +41,7 @@ EverGrandeCity_SidneysRoom_EventScript_15B589:: @ 815B589 EverGrandeCity_SidneysRoom_EventScript_15B596:: @ 815B596 lock faceplayer - checkflag FLAG_DEFEATED_ELITE_4_SYDNEY - goto_if_eq EverGrandeCity_SidneysRoom_EventScript_15B5BD + goto_if_set FLAG_DEFEATED_ELITE_4_SYDNEY, EverGrandeCity_SidneysRoom_EventScript_15B5BD playbgm BGM_SITENNOU, FALSE msgbox EverGrandeCity_SidneysRoom_Text_190728, 4 trainerbattle 3, OPPONENT_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_190823 diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc index 23295f778..a168a0ef5 100644 --- a/data/scripts/maps/FallarborTown.inc +++ b/data/scripts/maps/FallarborTown.inc @@ -12,8 +12,7 @@ FallarborTown_MapScript1_14E7E6:: @ 814E7E6 FallarborTown_EventScript_14E7F5:: @ 814E7F5 lock faceplayer - checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY - goto_if_eq FallarborTown_EventScript_14E80A + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_14E80A msgbox FallarborTown_Text_16C7FF, 4 release end diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc index 641a201e3..11dd6159e 100644 --- a/data/scripts/maps/FallarborTown_ContestLobby.inc +++ b/data/scripts/maps/FallarborTown_ContestLobby.inc @@ -92,8 +92,7 @@ FallarborTown_ContestLobby_EventScript_153A8E:: @ 8153A8E end FallarborTown_ContestLobby_EventScript_153A97:: @ 8153A97 - checkflag FLAG_CONTEST_SKETCH_CREATED - goto_if_eq FallarborTown_ContestLobby_EventScript_153AA9 + goto_if_set FLAG_CONTEST_SKETCH_CREATED, FallarborTown_ContestLobby_EventScript_153AA9 msgbox FallarborTown_ContestLobby_Text_177246, 2 end diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc index d2b27f478..f62a2da37 100644 --- a/data/scripts/maps/FallarborTown_House1.inc +++ b/data/scripts/maps/FallarborTown_House1.inc @@ -8,8 +8,7 @@ FallarborTown_House1_MapScript1_153BB4:: @ 8153BB4 FallarborTown_House1_EventScript_153BB5:: @ 8153BB5 lock faceplayer - checkflag FLAG_RECEIVED_TM27 - goto_if_eq FallarborTown_House1_EventScript_153C54 + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_153C54 checkitem ITEM_METEORITE, 1 compare RESULT, 1 goto_if_eq FallarborTown_House1_EventScript_153BDA @@ -18,10 +17,8 @@ FallarborTown_House1_EventScript_153BB5:: @ 8153BB5 end FallarborTown_House1_EventScript_153BDA:: @ 8153BDA - checkflag FLAG_TEMP_2 - call_if 0, FallarborTown_House1_EventScript_153C2D - checkflag FLAG_TEMP_2 - call_if 1, FallarborTown_House1_EventScript_153C3E + call_if_unset FLAG_TEMP_2, FallarborTown_House1_EventScript_153C2D + call_if_set FLAG_TEMP_2, FallarborTown_House1_EventScript_153C3E compare RESULT, NO goto_if_eq FallarborTown_House1_EventScript_153C47 msgbox FallarborTown_House1_Text_1778C4, 4 @@ -58,10 +55,8 @@ FallarborTown_House1_EventScript_153C54:: @ 8153C54 FallarborTown_House1_EventScript_153C5E:: @ 8153C5E lock faceplayer - checkflag FLAG_RECEIVED_TM27 - goto_if_eq FallarborTown_House1_EventScript_153C86 - checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY - goto_if_eq FallarborTown_House1_EventScript_153C7C + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_153C86 + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_House1_EventScript_153C7C msgbox FallarborTown_House1_Text_177A2B, 4 release end diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc index 7ceaabdef..bb1656fc2 100644 --- a/data/scripts/maps/FallarborTown_House2.inc +++ b/data/scripts/maps/FallarborTown_House2.inc @@ -5,8 +5,7 @@ FallarborTown_House2_EventScript_153C91:: @ 8153C91 lockall applymovement 1, FallarborTown_House2_Movement_1A0839 waitmovement 0 - checkflag FLAG_TEMP_1 - goto_if_eq FallarborTown_House2_EventScript_153CB6 + goto_if_set FLAG_TEMP_1, FallarborTown_House2_EventScript_153CB6 msgbox FallarborTown_House2_Text_177AF4, 4 setflag FLAG_TEMP_1 goto FallarborTown_House2_EventScript_153CB6 diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc index 937b435a6..e576df5bd 100644 --- a/data/scripts/maps/FortreeCity.inc +++ b/data/scripts/maps/FortreeCity.inc @@ -18,8 +18,7 @@ FortreeCity_EventScript_14C955:: @ 814C955 FortreeCity_EventScript_14C95E:: @ 814C95E lock faceplayer - checkflag FLAG_KECLEON_FLED_FORTREE - goto_if_eq FortreeCity_EventScript_14C973 + goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_14C973 msgbox FortreeCity_Text_1675C2, 4 release end diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc index 9217ba8f4..94df378f8 100644 --- a/data/scripts/maps/FortreeCity_Gym.inc +++ b/data/scripts/maps/FortreeCity_Gym.inc @@ -17,8 +17,7 @@ FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0 trainerbattle 1, OPPONENT_WINONA, 0, FortreeCity_Gym_Text_185CCB, FortreeCity_Gym_Text_185DBA, FortreeCity_Gym_EventScript_157F15 - checkflag FLAG_RECEIVED_TM40 - goto_if 0, FortreeCity_Gym_EventScript_157F3E + goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_157F3E msgbox FortreeCity_Gym_Text_185F98, 4 release end @@ -67,8 +66,7 @@ FortreeCity_Gym_EventScript_157FA7:: @ 8157FA7 FortreeCity_Gym_EventScript_157FBE:: @ 8157FBE lock faceplayer - checkflag FLAG_DEFEATED_FORTREE_GYM - goto_if_eq FortreeCity_Gym_EventScript_157FD3 + goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_157FD3 msgbox FortreeCity_Gym_Text_18589C, 4 release end @@ -80,15 +78,13 @@ FortreeCity_Gym_EventScript_157FD3:: @ 8157FD3 FortreeCity_Gym_EventScript_157FDD:: @ 8157FDD lockall - checkflag FLAG_BADGE06_GET - goto_if_eq FortreeCity_Gym_EventScript_157FFD + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_157FFD goto FortreeCity_Gym_EventScript_158007 end FortreeCity_Gym_EventScript_157FED:: @ 8157FED lockall - checkflag FLAG_BADGE06_GET - goto_if_eq FortreeCity_Gym_EventScript_157FFD + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_157FFD goto FortreeCity_Gym_EventScript_158007 end diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc index b308aa836..443cc3a5c 100644 --- a/data/scripts/maps/FortreeCity_House1.inc +++ b/data/scripts/maps/FortreeCity_House1.inc @@ -4,8 +4,7 @@ FortreeCity_House1_MapScripts:: @ 8157E12 FortreeCity_House1_EventScript_157E13:: @ 8157E13 lock faceplayer - checkflag FLAG_FORTREE_NPC_TRADE_COMPLETED - goto_if_eq FortreeCity_House1_EventScript_157EAD + goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_157EAD setvar VAR_SPECIAL_8, 1 copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo @@ -22,7 +21,7 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13 specialvar RESULT, GetTradeSpecies copyvar VAR_SPECIAL_B, RESULT compare RESULT, VAR_SPECIAL_9 - goto_if 5, FortreeCity_House1_EventScript_157E9F + goto_if_ne FortreeCity_House1_EventScript_157E9F copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 copyvar VAR_SPECIAL_5, VAR_SPECIAL_A special CreateInGameTradePokemon diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc index ae70b8644..107c3708c 100644 --- a/data/scripts/maps/FortreeCity_House2.inc +++ b/data/scripts/maps/FortreeCity_House2.inc @@ -4,10 +4,8 @@ FortreeCity_House2_MapScripts:: @ 81580B3 FortreeCity_House2_EventScript_1580B4:: @ 81580B4 lock faceplayer - checkflag FLAG_RECEIVED_TM10 - goto_if_eq FortreeCity_House2_EventScript_158157 - checkflag FLAG_MET_HIDDEN_POWER_GIVER - call_if 0, FortreeCity_House2_EventScript_15814B + goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_158157 + call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_15814B msgbox FortreeCity_House2_Text_186360, 4 multichoice 21, 8, 54, 1 switch RESULT diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc index 1b1b41877..490ef0c9b 100644 --- a/data/scripts/maps/FortreeCity_House4.inc +++ b/data/scripts/maps/FortreeCity_House4.inc @@ -7,12 +7,9 @@ FortreeCity_House4_EventScript_15817F:: @ 815817F FortreeCity_House4_EventScript_158188:: @ 8158188 lockall - checkflag FLAG_RECEIVED_MENTAL_HERB - goto_if_eq FortreeCity_House4_EventScript_158204 - checkflag FLAG_WINGULL_DELIVERED_MAIL - goto_if_eq FortreeCity_House4_EventScript_1581D6 - checkflag FLAG_WINGULL_SENT_ON_ERRAND - goto_if_eq FortreeCity_House4_EventScript_1581C2 + goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_158204 + goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_1581D6 + goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_1581C2 msgbox FortreeCity_House4_Text_186835, 4 closemessage setflag FLAG_WINGULL_SENT_ON_ERRAND diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc index 33296e510..7419b5866 100644 --- a/data/scripts/maps/GraniteCave_1F.inc +++ b/data/scripts/maps/GraniteCave_1F.inc @@ -4,8 +4,7 @@ GraniteCave_1F_MapScripts:: @ 815CBA6 GraniteCave_1F_EventScript_15CBA7:: @ 815CBA7 lock faceplayer - checkflag FLAG_RECEIVED_HM05 - goto_if_eq GraniteCave_1F_EventScript_15CBD3 + goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_15CBD3 msgbox GraniteCave_1F_Text_194917, 4 giveitem_std ITEM_HM05 setflag FLAG_RECEIVED_HM05 diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc index c9616266e..9c69e649e 100644 --- a/data/scripts/maps/GraniteCave_StevensRoom.inc +++ b/data/scripts/maps/GraniteCave_StevensRoom.inc @@ -11,17 +11,17 @@ GraniteCave_StevensRoom_EventScript_15CBFA:: @ 815CBFA msgbox GraniteCave_StevensRoom_Text_194BDD, 4 giveitem_std ITEM_TM47 compare RESULT, 0 - call_if 1, GraniteCave_StevensRoom_EventScript_15CC83 + call_if_eq GraniteCave_StevensRoom_EventScript_15CC83 msgbox GraniteCave_StevensRoom_Text_194C8D, 4 closemessage compare FACING, 2 - call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D + call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D compare FACING, 1 - call_if 1, GraniteCave_StevensRoom_EventScript_15CC78 + call_if_eq GraniteCave_StevensRoom_EventScript_15CC78 compare FACING, 3 - call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D + call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D compare FACING, 4 - call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D + call_if_eq GraniteCave_StevensRoom_EventScript_15CC6D playse SE_KAIDAN removeobject 1 release diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc index dbc71b6bb..d8576e883 100644 --- a/data/scripts/maps/IslandCave.inc +++ b/data/scripts/maps/IslandCave.inc @@ -5,8 +5,7 @@ IslandCave_MapScripts:: @ 815EEB6 .byte 0 IslandCave_MapScript1_15EEC6:: @ 815EEC6 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, IslandCave_EventScript_15EED0 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_15EED0 end IslandCave_EventScript_15EED0:: @ 815EED0 @@ -14,8 +13,7 @@ IslandCave_EventScript_15EED0:: @ 815EED0 return IslandCave_MapScript1_15EED4:: @ 815EED4 - checkflag FLAG_SYS_BRAILLE_WAIT - call_if 0, IslandCave_EventScript_15EEDE + call_if_unset FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EEDE end IslandCave_EventScript_15EEDE:: @ 815EEDE @@ -45,8 +43,7 @@ S_OpenRegiceChamber:: @ 815EF19 IslandCave_EventScript_15EF59:: @ 815EF59 lockall - checkflag FLAG_SYS_BRAILLE_WAIT - goto_if_eq IslandCave_EventScript_15EF72 + goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EF72 braillemessage IslandCave_Braille_1C54FC special DoBrailleWait waitstate @@ -61,8 +58,7 @@ IslandCave_EventScript_15EF72:: @ 815EF72 IslandCave_EventScript_15EF7C:: @ 815EF7C lockall braillemessage IslandCave_Braille_1C54FC - checkflag FLAG_SYS_BRAILLE_WAIT - goto_if_eq IslandCave_EventScript_15EF95 + goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_15EF95 special DoBrailleWait waitstate goto IslandCave_EventScript_15EF95 diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc index efe5d6a6e..d75420e88 100644 --- a/data/scripts/maps/JaggedPass.inc +++ b/data/scripts/maps/JaggedPass.inc @@ -9,7 +9,7 @@ JaggedPass_MapScript1_15D271:: @ 815D271 JaggedPass_MapScript1_15D274:: @ 815D274 compare VAR_JAGGED_PASS_ASH_WEATHER, 1 - call_if 1, JaggedPass_EventScript_15D280 + call_if_eq JaggedPass_EventScript_15D280 end JaggedPass_EventScript_15D280:: @ 815D280 diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index 44a1e141b..a7f71baf6 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -5,12 +5,11 @@ LavaridgeTown_MapScripts:: @ 814E4A3 LavaridgeTown_MapScript1_14E4AE:: @ 814E4AE setflag FLAG_VISITED_LAVARIDGE_TOWN - checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY - call_if 1, LavaridgeTown_EventScript_14E4DF + call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_14E4DF call LavaridgeTown_EventScript_1A014E call LavaridgeTown_EventScript_1A0172 compare VAR_LAVARIDGE_RIVAL_STATE, 2 - call_if 1, LavaridgeTown_EventScript_14E4D0 + call_if_eq LavaridgeTown_EventScript_14E4D0 end LavaridgeTown_EventScript_14E4D0:: @ 814E4D0 @@ -45,11 +44,11 @@ LavaridgeTown_EventScript_14E4ED:: @ 814E4ED waitmovement 0 checkplayergender compare RESULT, 0 - call_if 1, LavaridgeTown_EventScript_14E56B + call_if_eq LavaridgeTown_EventScript_14E56B compare RESULT, 1 - call_if 1, LavaridgeTown_EventScript_14E570 + call_if_eq LavaridgeTown_EventScript_14E570 compare VAR_SPECIAL_8, 1 - call_if 1, LavaridgeTown_EventScript_14E68F + call_if_eq LavaridgeTown_EventScript_14E68F checkplayergender compare RESULT, 0 goto_if_eq LavaridgeTown_EventScript_14E5AB @@ -71,9 +70,9 @@ LavaridgeTown_EventScript_14E575:: @ 814E575 setvar VAR_SPECIAL_8, 0 checkplayergender compare RESULT, 0 - call_if 1, LavaridgeTown_EventScript_14E56B + call_if_eq LavaridgeTown_EventScript_14E56B compare RESULT, 1 - call_if 1, LavaridgeTown_EventScript_14E570 + call_if_eq LavaridgeTown_EventScript_14E570 checkplayergender compare RESULT, 0 goto_if_eq LavaridgeTown_EventScript_14E5AB @@ -100,16 +99,16 @@ LavaridgeTown_EventScript_14E5D0:: @ 814E5D0 LavaridgeTown_EventScript_14E5F5:: @ 814E5F5 closemessage compare VAR_SPECIAL_8, 1 - call_if 1, LavaridgeTown_EventScript_14E646 + call_if_eq LavaridgeTown_EventScript_14E646 compare VAR_SPECIAL_8, 0 - call_if 1, LavaridgeTown_EventScript_14E64E + call_if_eq LavaridgeTown_EventScript_14E64E removeobject 8 addobject 7 delay 30 compare VAR_SPECIAL_8, 1 - call_if 1, LavaridgeTown_EventScript_14E69A + call_if_eq LavaridgeTown_EventScript_14E69A compare VAR_SPECIAL_8, 0 - call_if 1, LavaridgeTown_EventScript_14E6A5 + call_if_eq LavaridgeTown_EventScript_14E6A5 removeobject 7 setvar VAR_LAVARIDGE_RIVAL_STATE, 2 savebgm 0 @@ -129,13 +128,13 @@ LavaridgeTown_EventScript_14E646:: @ 814E646 LavaridgeTown_EventScript_14E64E:: @ 814E64E compare FACING, 2 - call_if 1, LavaridgeTown_EventScript_14E67B + call_if_eq LavaridgeTown_EventScript_14E67B compare FACING, 1 - call_if 1, LavaridgeTown_EventScript_14E680 + call_if_eq LavaridgeTown_EventScript_14E680 compare FACING, 3 - call_if 1, LavaridgeTown_EventScript_14E685 + call_if_eq LavaridgeTown_EventScript_14E685 compare FACING, 4 - call_if 1, LavaridgeTown_EventScript_14E68A + call_if_eq LavaridgeTown_EventScript_14E68A return LavaridgeTown_EventScript_14E67B:: @ 814E67B @@ -166,13 +165,13 @@ LavaridgeTown_EventScript_14E69A:: @ 814E69A LavaridgeTown_EventScript_14E6A5:: @ 814E6A5 compare FACING, 2 - call_if 1, LavaridgeTown_EventScript_14E6D2 + call_if_eq LavaridgeTown_EventScript_14E6D2 compare FACING, 1 - call_if 1, LavaridgeTown_EventScript_14E6D2 + call_if_eq LavaridgeTown_EventScript_14E6D2 compare FACING, 3 - call_if 1, LavaridgeTown_EventScript_14E6DD + call_if_eq LavaridgeTown_EventScript_14E6DD compare FACING, 4 - call_if 1, LavaridgeTown_EventScript_14E6D2 + call_if_eq LavaridgeTown_EventScript_14E6D2 return LavaridgeTown_EventScript_14E6D2:: @ 814E6D2 @@ -272,8 +271,7 @@ LavaridgeTown_EventScript_14E751:: @ 814E751 LavaridgeTown_EventScript_14E75A:: @ 814E75A lock faceplayer - checkflag FLAG_RECEIVED_LAVARIDGE_EGG - goto_if_eq LavaridgeTown_EventScript_14E79E + goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_14E79E msgbox LavaridgeTown_Text_16C174, MSGBOX_YESNO compare RESULT, NO goto_if_eq LavaridgeTown_EventScript_14E7B2 diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc index 1bbad53bf..c0604400e 100644 --- a/data/scripts/maps/LavaridgeTown_Gym_1F.inc +++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc @@ -13,56 +13,46 @@ LavaridgeTown_Gym_1F_EventScript_15369F:: @ 815369F setvar VAR_TEMP_D, 0 setvar VAR_TEMP_E, 0 setvar VAR_TEMP_F, 0 - checktrainerflag OPPONENT_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536C6 + goto_if_trainer_defeated OPPONENT_COLE, LavaridgeTown_Gym_1F_EventScript_1536C6 setvar VAR_TEMP_B, 1 LavaridgeTown_Gym_1F_EventScript_1536C6:: @ 81536C6 - checktrainerflag OPPONENT_ZANE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536D4 + goto_if_trainer_defeated OPPONENT_ZANE, LavaridgeTown_Gym_1F_EventScript_1536D4 setvar VAR_TEMP_C, 1 LavaridgeTown_Gym_1F_EventScript_1536D4:: @ 81536D4 - checktrainerflag OPPONENT_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536E2 + goto_if_trainer_defeated OPPONENT_AXLE, LavaridgeTown_Gym_1F_EventScript_1536E2 setvar VAR_TEMP_D, 1 LavaridgeTown_Gym_1F_EventScript_1536E2:: @ 81536E2 - checktrainerflag OPPONENT_SADIE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536F0 + goto_if_trainer_defeated OPPONENT_SADIE, LavaridgeTown_Gym_1F_EventScript_1536F0 setvar VAR_TEMP_E, 1 LavaridgeTown_Gym_1F_EventScript_1536F0:: @ 81536F0 - checktrainerflag OPPONENT_ANDY - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536FE + goto_if_trainer_defeated OPPONENT_ANDY, LavaridgeTown_Gym_1F_EventScript_1536FE setvar VAR_TEMP_F, 1 LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE return LavaridgeTown_Gym_1F_EventScript_1536FF:: @ 81536FF - checktrainerflag OPPONENT_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_15370C + goto_if_trainer_defeated OPPONENT_COLE, LavaridgeTown_Gym_1F_EventScript_15370C setobjectmovementtype 2, 63 LavaridgeTown_Gym_1F_EventScript_15370C:: @ 815370C - checktrainerflag OPPONENT_ZANE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153719 + goto_if_trainer_defeated OPPONENT_ZANE, LavaridgeTown_Gym_1F_EventScript_153719 setobjectmovementtype 3, 63 LavaridgeTown_Gym_1F_EventScript_153719:: @ 8153719 - checktrainerflag OPPONENT_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153726 + goto_if_trainer_defeated OPPONENT_AXLE, LavaridgeTown_Gym_1F_EventScript_153726 setobjectmovementtype 4, 63 LavaridgeTown_Gym_1F_EventScript_153726:: @ 8153726 - checktrainerflag OPPONENT_SADIE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153733 + goto_if_trainer_defeated OPPONENT_SADIE, LavaridgeTown_Gym_1F_EventScript_153733 setobjectmovementtype 5, 63 LavaridgeTown_Gym_1F_EventScript_153733:: @ 8153733 - checktrainerflag OPPONENT_ANDY - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153740 + goto_if_trainer_defeated OPPONENT_ANDY, LavaridgeTown_Gym_1F_EventScript_153740 setobjectmovementtype 7, 63 LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740 @@ -70,8 +60,7 @@ LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740 LavaridgeTown_Gym_1F_EventScript_153741:: @ 8153741 trainerbattle 1, OPPONENT_FLANNERY, 0, LavaridgeTown_Gym_1F_Text_176801, LavaridgeTown_Gym_1F_Text_176960, LavaridgeTown_Gym_1F_EventScript_153766 - checkflag FLAG_RECEIVED_TM50 - goto_if 0, LavaridgeTown_Gym_1F_EventScript_1537A7 + goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1537A7 msgbox LavaridgeTown_Gym_1F_Text_176C4A, 4 release end @@ -85,7 +74,7 @@ LavaridgeTown_Gym_1F_EventScript_153766:: @ 8153766 setflag FLAG_BADGE04_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if 1, LavaridgeTown_Gym_1F_EventScript_1A00FB + call_if_eq LavaridgeTown_Gym_1F_EventScript_1A00FB setvar VAR_SPECIAL_8, 4 call LavaridgeTown_Gym_1F_EventScript_1A01C0 setflag FLAG_HIDE_WALLY_WANDAS_HOUSE @@ -135,8 +124,7 @@ LavaridgeTown_Gym_1F_EventScript_15383E:: @ 815383E LavaridgeTown_Gym_1F_EventScript_153859:: @ 8153859 lock faceplayer - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if_eq LavaridgeTown_Gym_1F_EventScript_15386E + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_15386E msgbox LavaridgeTown_Gym_1F_Text_176312, 4 release end @@ -148,15 +136,13 @@ LavaridgeTown_Gym_1F_EventScript_15386E:: @ 815386E LavaridgeTown_Gym_1F_EventScript_153878:: @ 8153878 lockall - checkflag FLAG_BADGE04_GET - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_153898 goto LavaridgeTown_Gym_1F_EventScript_1538A2 end LavaridgeTown_Gym_1F_EventScript_153888:: @ 8153888 lockall - checkflag FLAG_BADGE04_GET - goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_153898 goto LavaridgeTown_Gym_1F_EventScript_1538A2 end diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc index 913734dd5..71fc2cbfe 100644 --- a/data/scripts/maps/LavaridgeTown_HerbShop.inc +++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc @@ -28,8 +28,7 @@ LavaridgeTown_HerbShop_EventScript_15364C:: @ 815364C LavaridgeTown_HerbShop_EventScript_153655:: @ 8153655 lock faceplayer - checkflag FLAG_RECEIVED_CHARCOAL - goto_if_eq LavaridgeTown_HerbShop_EventScript_153684 + goto_if_set FLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_153684 msgbox LavaridgeTown_HerbShop_Text_1761A2, 4 giveitem_std ITEM_CHARCOAL compare RESULT, 0 diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc index 6ed8054f8..ee29b0f05 100644 --- a/data/scripts/maps/LilycoveCity.inc +++ b/data/scripts/maps/LilycoveCity.inc @@ -7,8 +7,7 @@ LilycoveCity_MapScript1_14CA20:: @ 814CA20 setflag FLAG_VISITED_LILYCOVE_CITY setvar VAR_LINK_CONTEST_ROOM_STATE, 0 setflag FLAG_HIDE_CONTEST_REPORTER_LILYCOVE - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, LilycoveCity_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, LilycoveCity_EventScript_1A02C1 call LilycoveCity_EventScript_1A0196 call LilycoveCity_EventScript_1A014E end @@ -28,10 +27,8 @@ LilycoveCity_MapScript1_14CA3F:: @ 814CA3F setmetatile 71, 6, 368, 0 setmetatile 72, 6, 445, 0 .endif - checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE - call_if 0, LilycoveCity_EventScript_14CABE - checkflag FLAG_BADGE07_GET - call_if 1, LilycoveCity_EventScript_14CB2B + call_if_unset FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CABE + call_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CB2B end LilycoveCity_EventScript_14CABE:: @ 814CABE @@ -64,8 +61,7 @@ LilycoveCity_EventScript_14CB74:: @ 814CB74 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_LILYCOVE - goto_if_eq LilycoveCity_EventScript_14CBB4 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_LILYCOVE, LilycoveCity_EventScript_14CBB4 msgbox LilycoveCity_Text_1C5A7A, 4 random 10 addvar RESULT, ITEM_CHERI_BERRY @@ -89,8 +85,7 @@ LilycoveCity_EventScript_14CBBE:: @ 814CBBE LilycoveCity_EventScript_14CBC7:: @ 814CBC7 lock faceplayer - checkflag FLAG_BADGE07_GET - goto_if_eq LilycoveCity_EventScript_14CBDC + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CBDC msgbox LilycoveCity_Text_168750, 4 release end @@ -107,8 +102,7 @@ LilycoveCity_EventScript_14CBE6:: @ 814CBE6 LilycoveCity_EventScript_14CBEF:: @ 814CBEF lock faceplayer - checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE - goto_if_eq LilycoveCity_EventScript_14CC04 + goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CC04 msgbox LilycoveCity_Text_1688C1, 4 release end @@ -121,8 +115,7 @@ LilycoveCity_EventScript_14CC04:: @ 814CC04 LilycoveCity_EventScript_14CC0E:: @ 814CC0E lock faceplayer - checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE - goto_if_eq LilycoveCity_EventScript_14CC23 + goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_14CC23 msgbox LilycoveCity_Text_1689BF, 4 release end @@ -147,8 +140,7 @@ LilycoveCity_EventScript_14CC3F:: @ 814CC3F LilycoveCity_EventScript_14CC48:: @ 814CC48 lock faceplayer - checkflag FLAG_BADGE07_GET - goto_if_eq LilycoveCity_EventScript_14CC5D + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_14CC5D msgbox LilycoveCity_Text_168C16, 4 release end @@ -186,8 +178,7 @@ LilycoveCity_EventScript_14CCA2:: @ 814CCA2 LilycoveCity_EventScript_14CCAC:: @ 814CCAC lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_EventScript_14CCC0 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CCC0 msgbox LilycoveCity_Text_168EDA, 4 releaseall end @@ -211,8 +202,7 @@ LilycoveCity_EventScript_14CCDC:: @ 814CCDC LilycoveCity_EventScript_14CCE5:: @ 814CCE5 lockall - checkflag FLAG_MET_WAILMER_TRAINER - goto_if_eq LilycoveCity_EventScript_14CD18 + goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_14CD18 msgbox LilycoveCity_Text_16864A, 4 applymovement LAST_TALKED, LilycoveCity_Movement_1A0839 waitmovement 0 @@ -256,10 +246,8 @@ LilycoveCity_EventScript_14CD46:: @ 814CD46 LilycoveCity_EventScript_14CD60:: @ 814CD60 playbgm BGM_GIRL_SUP, TRUE - checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - call_if 1, LilycoveCity_EventScript_14CDB0 - checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - call_if 0, LilycoveCity_EventScript_14CDB9 + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CDB0 + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CDB9 compare RESULT, NO goto_if_eq LilycoveCity_EventScript_14CDC2 msgbox LilycoveCity_Text_167B94, 4 @@ -287,10 +275,8 @@ LilycoveCity_EventScript_14CDC2:: @ 814CDC2 LilycoveCity_EventScript_14CDD3:: @ 814CDD3 playbgm BGM_BOY_SUP, TRUE - checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - call_if 1, LilycoveCity_EventScript_14CE23 - checkflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - call_if 0, LilycoveCity_EventScript_14CE2C + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CE23 + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_14CE2C compare RESULT, NO goto_if_eq LilycoveCity_EventScript_14CE35 msgbox LilycoveCity_Text_1680A9, 4 @@ -349,20 +335,18 @@ LilycoveCity_EventScript_14CE96:: @ 814CE96 LilycoveCity_EventScript_14CEA6:: @ 814CEA6 msgbox LilycoveCity_Text_167C6B, 4 setvar RESULT, 0 - checkflag FLAG_BADGE06_GET - call_if 1, LilycoveCity_EventScript_14CEDE + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_14CEDE compare RESULT, 0 - call_if 1, LilycoveCity_EventScript_14CEEE + call_if_eq LilycoveCity_EventScript_14CEEE compare RESULT, 1 - call_if 1, LilycoveCity_EventScript_14CEF7 + call_if_eq LilycoveCity_EventScript_14CEF7 clearflag FLAG_HIDE_MAY_UPSTAIRS clearflag FLAG_HIDE_MAY_PICHU_DOLL goto LilycoveCity_EventScript_14CF6B end LilycoveCity_EventScript_14CEDE:: @ 814CEDE - checkflag FLAG_BADGE08_GET - goto_if_eq LilycoveCity_EventScript_14CEE8 + goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_14CEE8 return LilycoveCity_EventScript_14CEE8:: @ 814CEE8 @@ -374,8 +358,7 @@ LilycoveCity_EventScript_14CEEE:: @ 814CEEE return LilycoveCity_EventScript_14CEF7:: @ 814CEF7 - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_EventScript_14CF09 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CF09 msgbox LilycoveCity_Text_167DDD, 4 return @@ -386,12 +369,11 @@ LilycoveCity_EventScript_14CF09:: @ 814CF09 LilycoveCity_EventScript_14CF12:: @ 814CF12 msgbox LilycoveCity_Text_168149, 4 setvar RESULT, 0 - checkflag FLAG_BADGE06_GET - call_if 1, LilycoveCity_EventScript_14CEDE + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_14CEDE compare RESULT, 0 - call_if 1, LilycoveCity_EventScript_14CF47 + call_if_eq LilycoveCity_EventScript_14CF47 compare RESULT, 1 - call_if 1, LilycoveCity_EventScript_14CF50 + call_if_eq LilycoveCity_EventScript_14CF50 clearflag FLAG_HIDE_BRENDAN_UPSTAIRS goto LilycoveCity_EventScript_14CF6B end @@ -401,8 +383,7 @@ LilycoveCity_EventScript_14CF47:: @ 814CF47 return LilycoveCity_EventScript_14CF50:: @ 814CF50 - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_EventScript_14CF62 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_14CF62 msgbox LilycoveCity_Text_168282, 4 return diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 7aceecef6..a04629903 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -13,8 +13,7 @@ LilycoveCity_ContestLobby_MapScript2_158877:: @ 8158877 .2byte 0 LilycoveCity_ContestLobby_EventScript_158889:: @ 8158889 - checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - goto_if_eq LilycoveCity_ContestLobby_EventScript_158898 + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_158898 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 end @@ -45,7 +44,7 @@ LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar RESULT, GiveMonArtistRibbon compare RESULT, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_158948 + call_if_eq LilycoveCity_ContestLobby_EventScript_158948 applymovement 4, LilycoveCity_ContestLobby_Movement_158A43 waitmovement 0 removeobject 4 @@ -188,8 +187,7 @@ LilycoveCity_ContestLobby_Movement_158A52:: @ 8158A52 step_end LilycoveCity_ContestLobby_EventScript_158A5B:: @ 8158A5B - checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - goto_if_eq LilycoveCity_ContestLobby_EventScript_158A6A + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_158A6A setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 end @@ -218,7 +216,7 @@ LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar RESULT, GiveMonArtistRibbon compare RESULT, 1 - call_if 1, LilycoveCity_ContestLobby_EventScript_158B18 + call_if_eq LilycoveCity_ContestLobby_EventScript_158B18 applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D waitmovement 0 removeobject 11 @@ -307,8 +305,7 @@ LilycoveCity_ContestLobby_EventScript_158B85:: @ 8158B85 checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 0 goto_if_eq LilycoveCity_ContestLobby_EventScript_158BBA - checkflag FLAG_TEMP_2 - goto_if_eq LilycoveCity_ContestLobby_EventScript_158BAE + goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_158BAE message LilycoveCity_ContestLobby_Text_18848C waitmessage setflag FLAG_TEMP_2 @@ -402,8 +399,7 @@ LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0 end LilycoveCity_ContestLobby_EventScript_158CEA:: @ 8158CEA - checkflag FLAG_TEMP_3 - call_if 0, LilycoveCity_ContestLobby_EventScript_158BC4 + call_if_unset FLAG_TEMP_3, LilycoveCity_ContestLobby_EventScript_158BC4 message LilycoveCity_ContestLobby_Text_1886DC waitmessage multichoice 0, 0, 4, 0 @@ -707,8 +703,7 @@ LilycoveCity_ContestLobby_EventScript_15901E:: @ 815901E end LilycoveCity_ContestLobby_EventScript_159027:: @ 8159027 - checkflag FLAG_RECEIVED_CONTEST_PASS - goto_if 0, LilycoveCity_ContestLobby_EventScript_159039 + goto_if_unset FLAG_RECEIVED_CONTEST_PASS, LilycoveCity_ContestLobby_EventScript_159039 msgbox LilycoveCity_ContestLobby_Text_188DDA, 2 end diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc index c8a3dcab9..b80b0873b 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc @@ -3,10 +3,8 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 81582C4 LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5:: @ 81582C5 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_158326 - checkflag FLAG_BADGE07_GET - goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_158326 + goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF msgbox LilycoveCity_CoveLilyMotel_1F_Text_186B71, 4 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 waitmovement 0 diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc index 4878cc6bc..06b982610 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc @@ -4,10 +4,8 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 81583A0 LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1 lock faceplayer - checkflag FLAG_TEMP_2 - call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7 - checkflag FLAG_TEMP_2 - call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD + call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7 + call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD specialvar RESULT, CompletedHoennPokedex compare RESULT, 1 goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc index 1198054f0..f895ea99d 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc @@ -4,8 +4,7 @@ LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 815A39B LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C lock faceplayer - checkflag FLAG_TEMP_2 - call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF + call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF copyvar VAR_SPECIAL_5, VAR_DEPT_STORE_FLOOR special DisplayCurrentElevatorFloor message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc index cd5e0d980..e2274110c 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -5,9 +5,9 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 815A13F LilycoveCity_DepartmentStoreRooftop_MapScript1_15A145:: @ 815A145 getpricereduction 3 compare RESULT, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F compare RESULT, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A163 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F:: @ 815A15F @@ -53,7 +53,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0:: @ 815A1A0 faceplayer getpricereduction 3 compare RESULT, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C61F, 4 release end @@ -128,22 +128,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A260:: @ 815A260 LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 compare VAR_TEMP_1, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D compare VAR_TEMP_1, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A244 compare VAR_TEMP_1, 2 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A checkitemspace VAR_TEMP_0, 1 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 compare VAR_TEMP_1, 0 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A252 compare VAR_TEMP_1, 1 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A259 compare VAR_TEMP_1, 2 - call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A260 updatemoneybox 0, 0 nop bufferitemname 0, VAR_TEMP_0 @@ -155,7 +155,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4 random 64 compare RESULT, 0 - goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E checkitemspace VAR_TEMP_0, 1 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 @@ -167,7 +167,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4 random 64 compare RESULT, 0 - goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E checkitemspace VAR_TEMP_0, 1 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc index db2b8edf9..f6b23bc05 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -10,9 +10,8 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E faceplayer dodailyevents compare VAR_LOTTERY_PRIZE, 0 - goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1 - checkflag FLAG_DAILY_PICKED_LOTTO_TICKET - goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E4C + goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_159EB1 + goto_if_set FLAG_DAILY_PICKED_LOTTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_159E4C msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, MSGBOX_YESNO compare RESULT, NO goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E56 @@ -37,18 +36,18 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E60 incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY compare VAR_SPECIAL_6, 0 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E3A compare VAR_SPECIAL_6, 1 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E43 bufferitemname 0, VAR_SPECIAL_5 compare VAR_SPECIAL_4, 1 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E78 compare VAR_SPECIAL_4, 2 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E81 compare VAR_SPECIAL_4, 3 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E8A compare VAR_SPECIAL_4, 4 - call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E93 giveitem_std VAR_SPECIAL_5 compare RESULT, 0 goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E9C diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc index 3b884c233..5dc217585 100644 --- a/data/scripts/maps/LilycoveCity_Harbor.inc +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -16,8 +16,7 @@ LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2 end LilycoveCity_Harbor_EventScript_1598BA:: @ 81598BA - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_Harbor_EventScript_1598CD + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_1598CD msgbox LilycoveCity_Harbor_Text_18B306, 4 release end @@ -81,9 +80,9 @@ LilycoveCity_Harbor_EventScript_15998A:: @ 815998A delay 30 hideobjectat LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR compare FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_1599D9 + call_if_eq LilycoveCity_Harbor_EventScript_1599D9 compare FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_1599CE + call_if_eq LilycoveCity_Harbor_EventScript_1599CE delay 30 hideobjectat 255, MAP_PETALBURG_CITY setvar VAR_SPECIAL_4, 2 @@ -106,12 +105,9 @@ LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4 end LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE - checkflag FLAG_SYS_GAME_CLEAR - goto_if 0, LilycoveCity_Harbor_EventScript_1598BA - checkflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS - goto_if_eq LilycoveCity_Harbor_EventScript_1598BA - checkflag FLAG_SYS_HAS_EON_TICKET - goto_if 0, LilycoveCity_Harbor_EventScript_1598BA + goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_1598BA + goto_if_set FLAG_ECOUNTERED_LATIAS_OR_LATIOS, LilycoveCity_Harbor_EventScript_1598BA + goto_if_unset FLAG_SYS_HAS_EON_TICKET, LilycoveCity_Harbor_EventScript_1598BA msgbox LilycoveCity_Harbor_Text_1C50F2, 4 closemessage applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841 @@ -130,9 +126,9 @@ LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE delay 30 removeobject 4 compare FACING, 2 - call_if 1, LilycoveCity_Harbor_EventScript_1599D9 + call_if_eq LilycoveCity_Harbor_EventScript_1599D9 compare FACING, 4 - call_if 1, LilycoveCity_Harbor_EventScript_1599CE + call_if_eq LilycoveCity_Harbor_EventScript_1599CE delay 30 hideobjectat 255, MAP_PETALBURG_CITY special ScrSpecial_HealPlayerParty @@ -159,8 +155,7 @@ LilycoveCity_Harbor_Movement_159A89:: @ 8159A89 LilycoveCity_Harbor_EventScript_159A8D:: @ 8159A8D lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq LilycoveCity_Harbor_EventScript_159AA2 + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_159AA2 msgbox LilycoveCity_Harbor_Text_18B504, 4 release end diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc index d0065c9e8..0572c23cc 100644 --- a/data/scripts/maps/LilycoveCity_House2.inc +++ b/data/scripts/maps/LilycoveCity_House2.inc @@ -4,8 +4,7 @@ LilycoveCity_House2_MapScripts:: @ 8159BA2 LilycoveCity_House2_EventScript_159BA3:: @ 8159BA3 lock faceplayer - checkflag FLAG_RECEIVED_TM44 - goto_if_eq LilycoveCity_House2_EventScript_159BDA + goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_159BDA msgbox LilycoveCity_House2_Text_18B83C, 4 giveitem_std ITEM_TM44 compare RESULT, 0 diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc index 120054e91..9cf3ecbd7 100644 --- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc @@ -4,32 +4,27 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 81585AC .byte 0 LilycoveCity_LilycoveMuseum_2F_MapScript1_1585B7:: @ 81585B7 - checkflag FLAG_COOL_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6:: @ 81585C6 - checkflag FLAG_BEAUTY_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158615 + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158615 goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5:: @ 81585D5 - checkflag FLAG_CUTE_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15862D goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4:: @ 81585E4 - checkflag FLAG_SMART_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158645 + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158645 goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3:: @ 81585F3 - checkflag FLAG_TOUGH_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15865D end LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD:: @ 81585FD @@ -96,8 +91,7 @@ LilycoveCity_LilycoveMuseum_2F_Movement_1586D5:: @ 81586D5 LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8 lockall - checkflag FLAG_RECEIVED_GLASS_ORNAMENT - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158793 + goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_158793 specialvar VAR_SPECIAL_4, sub_80C4D50 switch VAR_SPECIAL_4 case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C @@ -146,36 +140,31 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158793:: @ 8158793 LilycoveCity_LilycoveMuseum_2F_EventScript_15879D:: @ 815879D lockall - checkflag FLAG_CUTE_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15883C msgbox LilycoveCity_LilycoveMuseum_2F_Text_188219, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0:: @ 81587B0 lockall - checkflag FLAG_TOUGH_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158858 + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158858 msgbox LilycoveCity_LilycoveMuseum_2F_Text_18824C, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3:: @ 81587C3 lockall - checkflag FLAG_COOL_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158820 + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_158820 msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882B4, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6:: @ 81587D6 lockall - checkflag FLAG_BEAUTY_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15882E msgbox LilycoveCity_LilycoveMuseum_2F_Text_188281, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9:: @ 81587E9 lockall - checkflag FLAG_SMART_PAINTING_MADE - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_15884A msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882E6, 3 end diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc index f6eb35c98..cff88caf0 100644 --- a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc @@ -21,8 +21,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_15933F:: @ 815933F LilycoveCity_PokemonCenter_1F_EventScript_159348:: @ 8159348 lock faceplayer - checkflag FLAG_BADGE07_GET - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_15935D + goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_15935D msgbox LilycoveCity_PokemonCenter_1F_Text_18A048, 4 release end diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc index 4656f0182..85ee953ac 100644 --- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc +++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc @@ -72,35 +72,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429 setvar VAR_SPECIAL_4, 8 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5 setvar VAR_SPECIAL_4, 9 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD setvar VAR_SPECIAL_4, 10 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5 setvar VAR_SPECIAL_4, 11 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED setvar VAR_SPECIAL_4, 12 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5 setvar VAR_SPECIAL_4, 13 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD setvar VAR_SPECIAL_4, 14 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505 + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159505 setvar VAR_SPECIAL_4, 15 specialvar RESULT, ShouldMoveLilycoveFanClubMember compare RESULT, 0 - call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15950D end LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5:: @ 81594D5 diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc index ef2145bbb..57ad9aae5 100644 --- a/data/scripts/maps/LittlerootTown.inc +++ b/data/scripts/maps/LittlerootTown.inc @@ -6,19 +6,18 @@ LittlerootTown_MapScripts:: @ 814D509 LittlerootTown_MapScript1_14D514:: @ 814D514 setflag FLAG_VISITED_LITTLEROOT_TOWN compare VAR_LITTLEROOT_INTRO_STATE, 2 - call_if 1, LittlerootTown_EventScript_14D57B - checkflag FLAG_RESCUED_BIRCH - call_if 0, LittlerootTown_EventScript_14D583 + call_if_eq LittlerootTown_EventScript_14D57B + call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_14D583 compare VAR_LITTLEROOT_STATE, 3 - call_if 1, LittlerootTown_EventScript_14D5A6 + call_if_eq LittlerootTown_EventScript_14D5A6 compare VAR_LITTLEROOT_HOUSES_STATE, 4 - call_if 1, LittlerootTown_EventScript_14D570 + call_if_eq LittlerootTown_EventScript_14D570 compare VAR_LITTLEROOT_HOUSES_STATE_2, 4 - call_if 1, LittlerootTown_EventScript_14D570 + call_if_eq LittlerootTown_EventScript_14D570 compare VAR_OLDALE_STATE, 1 - call_if 1, LittlerootTown_EventScript_14D567 + call_if_eq LittlerootTown_EventScript_14D567 compare VAR_LITTLEROOT_RIVAL_STATE, 3 - call_if 1, LittlerootTown_EventScript_14D563 + call_if_eq LittlerootTown_EventScript_14D563 end LittlerootTown_EventScript_14D563:: @ 814D563 @@ -56,9 +55,9 @@ LittlerootTown_EventScript_14D5A6:: @ 814D5A6 setobjectmovementtype 4, 8 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D5C5 + call_if_eq LittlerootTown_EventScript_14D5C5 compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D5CD + call_if_eq LittlerootTown_EventScript_14D5CD return LittlerootTown_EventScript_14D5C5:: @ 814D5C5 @@ -187,12 +186,10 @@ LittlerootTown_EventScript_14D6D6:: @ 814D6D6 LittlerootTown_EventScript_14D6DF:: @ 814D6DF lock faceplayer - checkflag FLAG_ADVENTURE_STARTED - goto_if_eq LittlerootTown_EventScript_14D72F - checkflag FLAG_RESCUED_BIRCH - goto_if_eq LittlerootTown_EventScript_14D722 + goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_14D72F + goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_14D722 compare VAR_LITTLEROOT_STATE, 0 - goto_if 5, LittlerootTown_EventScript_14D708 + goto_if_ne LittlerootTown_EventScript_14D708 msgbox LittlerootTown_Text_16ACEB, 4 release end @@ -335,9 +332,9 @@ LittlerootTown_EventScript_14D808:: @ 814D808 lockall checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D822 + call_if_eq LittlerootTown_EventScript_14D822 compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D82B + call_if_eq LittlerootTown_EventScript_14D82B releaseall end @@ -353,9 +350,9 @@ LittlerootTown_EventScript_14D834:: @ 814D834 lockall checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D84E + call_if_eq LittlerootTown_EventScript_14D84E compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D857 + call_if_eq LittlerootTown_EventScript_14D857 releaseall end @@ -408,27 +405,27 @@ LittlerootTown_EventScript_14D8AA:: @ 814D8AA LittlerootTown_EventScript_14D8B6:: @ 814D8B6 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D93C + call_if_eq LittlerootTown_EventScript_14D93C compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D947 + call_if_eq LittlerootTown_EventScript_14D947 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D926 + call_if_eq LittlerootTown_EventScript_14D926 compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D931 + call_if_eq LittlerootTown_EventScript_14D931 msgbox LittlerootTown_Text_16A8EE, 4 closemessage checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D952 + call_if_eq LittlerootTown_EventScript_14D952 compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D995 + call_if_eq LittlerootTown_EventScript_14D995 call LittlerootTown_EventScript_14DD38 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14DAAA + call_if_eq LittlerootTown_EventScript_14DAAA compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14DAED + call_if_eq LittlerootTown_EventScript_14DAED goto LittlerootTown_EventScript_14DD2B end @@ -454,32 +451,32 @@ LittlerootTown_EventScript_14D947:: @ 814D947 LittlerootTown_EventScript_14D952:: @ 814D952 compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_EventScript_14D9D8 + call_if_eq LittlerootTown_EventScript_14D9D8 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_EventScript_14D9ED + call_if_eq LittlerootTown_EventScript_14D9ED compare VAR_SPECIAL_8, 2 - call_if 1, LittlerootTown_EventScript_14DA02 + call_if_eq LittlerootTown_EventScript_14DA02 compare VAR_SPECIAL_8, 3 - call_if 1, LittlerootTown_EventScript_14DA17 + call_if_eq LittlerootTown_EventScript_14DA17 compare VAR_SPECIAL_8, 4 - call_if 1, LittlerootTown_EventScript_14DA2C + call_if_eq LittlerootTown_EventScript_14DA2C compare VAR_SPECIAL_8, 5 - call_if 1, LittlerootTown_EventScript_14DA41 + call_if_eq LittlerootTown_EventScript_14DA41 return LittlerootTown_EventScript_14D995:: @ 814D995 compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_EventScript_14D9D8 + call_if_eq LittlerootTown_EventScript_14D9D8 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_EventScript_14D9ED + call_if_eq LittlerootTown_EventScript_14D9ED compare VAR_SPECIAL_8, 2 - call_if 1, LittlerootTown_EventScript_14DA56 + call_if_eq LittlerootTown_EventScript_14DA56 compare VAR_SPECIAL_8, 3 - call_if 1, LittlerootTown_EventScript_14DA6B + call_if_eq LittlerootTown_EventScript_14DA6B compare VAR_SPECIAL_8, 4 - call_if 1, LittlerootTown_EventScript_14DA80 + call_if_eq LittlerootTown_EventScript_14DA80 compare VAR_SPECIAL_8, 5 - call_if 1, LittlerootTown_EventScript_14DA95 + call_if_eq LittlerootTown_EventScript_14DA95 return LittlerootTown_EventScript_14D9D8:: @ 814D9D8 @@ -554,32 +551,32 @@ LittlerootTown_EventScript_14DA95:: @ 814DA95 LittlerootTown_EventScript_14DAAA:: @ 814DAAA compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_EventScript_14DB30 + call_if_eq LittlerootTown_EventScript_14DB30 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_EventScript_14DB3B + call_if_eq LittlerootTown_EventScript_14DB3B compare VAR_SPECIAL_8, 2 - call_if 1, LittlerootTown_EventScript_14DB46 + call_if_eq LittlerootTown_EventScript_14DB46 compare VAR_SPECIAL_8, 3 - call_if 1, LittlerootTown_EventScript_14DB6C + call_if_eq LittlerootTown_EventScript_14DB6C compare VAR_SPECIAL_8, 4 - call_if 1, LittlerootTown_EventScript_14DB92 + call_if_eq LittlerootTown_EventScript_14DB92 compare VAR_SPECIAL_8, 5 - call_if 1, LittlerootTown_EventScript_14DBB8 + call_if_eq LittlerootTown_EventScript_14DBB8 return LittlerootTown_EventScript_14DAED:: @ 814DAED compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_EventScript_14DB30 + call_if_eq LittlerootTown_EventScript_14DB30 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_EventScript_14DB3B + call_if_eq LittlerootTown_EventScript_14DB3B compare VAR_SPECIAL_8, 2 - call_if 1, LittlerootTown_EventScript_14DBDE + call_if_eq LittlerootTown_EventScript_14DBDE compare VAR_SPECIAL_8, 3 - call_if 1, LittlerootTown_EventScript_14DC04 + call_if_eq LittlerootTown_EventScript_14DC04 compare VAR_SPECIAL_8, 4 - call_if 1, LittlerootTown_EventScript_14DC2A + call_if_eq LittlerootTown_EventScript_14DC2A compare VAR_SPECIAL_8, 5 - call_if 1, LittlerootTown_EventScript_14DC50 + call_if_eq LittlerootTown_EventScript_14DC50 return LittlerootTown_EventScript_14DB30:: @ 814DB30 @@ -843,9 +840,9 @@ LittlerootTown_EventScript_14DCE2:: @ 814DCE2 faceplayer checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_EventScript_14D926 + call_if_eq LittlerootTown_EventScript_14D926 compare RESULT, 1 - call_if 1, LittlerootTown_EventScript_14D931 + call_if_eq LittlerootTown_EventScript_14D931 call LittlerootTown_EventScript_14DD38 applymovement 4, LittlerootTown_Movement_1A0841 waitmovement 0 diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc index 8a86cd946..1de2e91a4 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc @@ -6,9 +6,8 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 815263B LittlerootTown_BrendansHouse_1F_MapScript1_15264B:: @ 815264B compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_152660 - checkflag FLAG_RECEIVED_RUNNING_SHOES - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_152673 + call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_152660 + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_152673 end LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660 @@ -28,11 +27,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680 LittlerootTown_BrendansHouse_1F_MapScript1_15268A:: @ 815268A compare VAR_LITTLEROOT_INTRO_STATE, 3 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526C4 compare VAR_LITTLEROOT_INTRO_STATE, 5 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526AC compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1526B8 end LittlerootTown_BrendansHouse_1F_EventScript_1526AC:: @ 81526AC diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc index e0e1a1086..ed6818fa0 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc @@ -4,10 +4,9 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81527A4 .byte 0 LittlerootTown_BrendansHouse_2F_MapScript1_1527AF:: @ 81527AF - checkflag FLAG_DEFEATED_RIVAL_ROUTE103 - call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE + call_if_unset FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_2F_EventScript_1527CE compare VAR_LITTLEROOT_INTRO_STATE, 4 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6950 call LittlerootTown_BrendansHouse_2F_EventScript_1A2F3D setvar VAR_0x4089, 0 end diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc index 45e9e0783..8096589aa 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc @@ -6,9 +6,8 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 8152879 LittlerootTown_MaysHouse_1F_MapScript1_152889:: @ 8152889 compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if 0, LittlerootTown_MaysHouse_1F_EventScript_15289E - checkflag FLAG_RECEIVED_RUNNING_SHOES - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1 + call_if_lt LittlerootTown_MaysHouse_1F_EventScript_15289E + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_1528B1 end LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E @@ -28,11 +27,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE LittlerootTown_MaysHouse_1F_MapScript1_1528C8:: @ 81528C8 compare VAR_LITTLEROOT_INTRO_STATE, 3 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_152902 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_152902 compare VAR_LITTLEROOT_INTRO_STATE, 5 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528EA compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528F6 end LittlerootTown_MaysHouse_1F_EventScript_1528EA:: @ 81528EA @@ -118,9 +117,9 @@ LittlerootTown_MaysHouse_1F_Movement_1529C0:: @ 81529C0 lockall checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1529E1 compare RESULT, 1 - call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1529E2 releaseall end @@ -135,10 +134,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1529EB:: @ 81529EB LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB lock faceplayer - checkflag FLAG_DEFEATED_RIVAL_ROUTE103 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A21 - checkflag FLAG_RIVAL_LEFT_FOR_ROUTE103 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A17 + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_152A21 + goto_if_set FLAG_RIVAL_LEFT_FOR_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_152A17 compare VAR_LITTLEROOT_RIVAL_STATE, 3 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A2B special GetRivalSonDaughterString diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc index 34300b13e..ede58e7a5 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc @@ -4,10 +4,9 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 8152A50 .byte 0 LittlerootTown_MaysHouse_2F_MapScript1_152A5B:: @ 8152A5B - checkflag FLAG_DEFEATED_RIVAL_ROUTE103 - call_if 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A + call_if_unset FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_MaysHouse_2F_EventScript_152A7A compare VAR_LITTLEROOT_INTRO_STATE, 4 - call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950 + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1B6950 call LittlerootTown_MaysHouse_2F_EventScript_1A2F3D setvar VAR_0x4089, 0 end @@ -30,13 +29,12 @@ LittlerootTown_MaysHouse_2F_EventScript_152A90:: @ 8152A90 LittlerootTown_BrendansHouse_2F_EventScript_152A9D:: @ 8152A9D LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D lockall - checkflag FLAG_MET_RIVAL_LILYCOVE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BB5 + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152BB5 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152AD4 compare RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B4A playse SE_KAIDAN removeobject LAST_TALKED setvar VAR_LITTLEROOT_RIVAL_STATE, 3 @@ -58,11 +56,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_152AD4:: @ 8152AD4 msgbox LittlerootTown_BrendansHouse_2F_Text_1733AF, 4 closemessage compare FACING, 4 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B29 compare FACING, 2 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B34 compare FACING, 3 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B3F return LittlerootTown_BrendansHouse_2F_EventScript_152B29:: @ 8152B29 @@ -92,11 +90,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_152B4A:: @ 8152B4A msgbox LittlerootTown_BrendansHouse_2F_Text_1735FC, 4 closemessage compare FACING, 4 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B9F compare FACING, 2 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152B9F compare FACING, 3 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BAA return LittlerootTown_BrendansHouse_2F_EventScript_152B9F:: @ 8152B9F @@ -114,22 +112,20 @@ LittlerootTown_BrendansHouse_2F_EventScript_152BB5:: @ 8152BB5 waitmovement 0 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BDB compare RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BED setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE releaseall end LittlerootTown_BrendansHouse_2F_EventScript_152BDB:: @ 8152BDB - checkflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BFF + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152BFF msgbox LittlerootTown_BrendansHouse_2F_Text_1737AE, 4 return LittlerootTown_BrendansHouse_2F_EventScript_152BED:: @ 8152BED - checkflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152C08 + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_152C08 msgbox LittlerootTown_BrendansHouse_2F_Text_1738F2, 4 return diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc index 10e4712bb..7608ba65d 100644 --- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -86,9 +86,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D63:: @ 8152D63 lock faceplayer compare VAR_BIRCH_LAB_STATE, 3 - goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90 - checkflag FLAG_BIRCH_AIDE_MET - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D86 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_152D90 + goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_152D86 msgbox LittlerootTown_ProfessorBirchsLab_Text_173B29, 4 setflag FLAG_BIRCH_AIDE_MET release @@ -107,8 +106,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D90:: @ 8152D90 LittlerootTown_ProfessorBirchsLab_EventScript_152D9A:: @ 8152D9A lock faceplayer - checkflag FLAG_UNKNOWN_BIRCH_380 - goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F + goto_if_unset FLAG_UNKNOWN_BIRCH_380, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F compare VAR_BIRCH_LAB_STATE, 5 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B msgbox LittlerootTown_ProfessorBirchsLab_Text_1740B4, 4 @@ -125,9 +123,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152DBA:: @ 8152DBA waitmovement 0 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E13 compare RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E40 setvar VAR_BIRCH_LAB_STATE, 5 setflag FLAG_ADVENTURE_STARTED setvar VAR_ROUTE102_ACCESSIBLE, 1 @@ -140,7 +138,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E13:: @ 8152E13 msgbox LittlerootTown_ProfessorBirchsLab_Text_1743D4, 4 giveitem_std ITEM_POKE_BALL, 5 compare RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E85 msgbox LittlerootTown_ProfessorBirchsLab_Text_17443D, 4 setvar RESULT, 0 return @@ -149,7 +147,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E40:: @ 8152E40 msgbox LittlerootTown_ProfessorBirchsLab_Text_17453C, 4 giveitem_std ITEM_POKE_BALL, 5 compare RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E8E msgbox LittlerootTown_ProfessorBirchsLab_Text_17458C, 4 setvar RESULT, 1 return @@ -189,9 +187,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152EA3:: @ 8152EA3 faceplayer checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152EBE compare RESULT, 1 - call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152EC7 release end diff --git a/data/scripts/maps/MagmaHideout_B1F.inc b/data/scripts/maps/MagmaHideout_B1F.inc index 6dbdc0461..a55d260ab 100644 --- a/data/scripts/maps/MagmaHideout_B1F.inc +++ b/data/scripts/maps/MagmaHideout_B1F.inc @@ -3,8 +3,7 @@ MagmaHideout_B1F_MapScripts:: @ 815F2A8 .byte 0 MagmaHideout_B1F_MapScript1_15F2AE:: @ 815F2AE - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, MagmaHideout_B1F_EventScript_15F2B8 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MagmaHideout_B1F_EventScript_15F2B8 end MagmaHideout_B1F_EventScript_15F2B8:: @ 815F2B8 diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc index 652a25f6f..03974ddae 100644 --- a/data/scripts/maps/MauvilleCity.inc +++ b/data/scripts/maps/MauvilleCity.inc @@ -8,8 +8,7 @@ MauvilleCity_MapScript1_14C038:: @ 814C038 setflag FLAG_SYS_TV_START clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE setvar VAR_MAUVILLE_GYM_STATE, 0 - checkflag FLAG_RECEIVED_TM24 - call_if 1, MauvilleCity_EventScript_14C053 + call_if_set FLAG_RECEIVED_TM24, MauvilleCity_EventScript_14C053 end MauvilleCity_EventScript_14C053:: @ 814C053 @@ -52,8 +51,7 @@ MauvilleCity_EventScript_14C099:: @ 814C099 MauvilleCity_EventScript_14C0A2:: @ 814C0A2 lock faceplayer - checkflag FLAG_TV_EXPLAINED - goto_if_eq MauvilleCity_EventScript_14C0BA + goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_14C0BA msgbox MauvilleCity_Text_16674A, 4 setflag FLAG_TV_EXPLAINED release @@ -67,8 +65,7 @@ MauvilleCity_EventScript_14C0BA:: @ 814C0BA MauvilleCity_EventScript_14C0C4:: @ 814C0C4 lock faceplayer - checkflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE - goto_if_eq MauvilleCity_EventScript_14C0E4 + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_14C0E4 msgbox MauvilleCity_Text_165B76, 4 closemessage applymovement 7, MauvilleCity_Movement_1A083D @@ -86,8 +83,7 @@ MauvilleCity_EventScript_14C0E4:: @ 814C0E4 MauvilleCity_EventScript_14C0F9:: @ 814C0F9 lockall - checkflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE - goto_if_eq MauvilleCity_EventScript_14C292 + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_14C292 applymovement 6, MauvilleCity_Movement_1A0843 waitmovement 0 msgbox MauvilleCity_Text_165BE3, 4 @@ -106,7 +102,7 @@ MauvilleCity_EventScript_14C0F9:: @ 814C0F9 MauvilleCity_EventScript_14C154:: @ 814C154 compare RESULT, YES - call_if 1, MauvilleCity_EventScript_14C23C + call_if_eq MauvilleCity_EventScript_14C23C compare RESULT, NO goto_if_eq MauvilleCity_EventScript_14C285 closemessage @@ -284,12 +280,10 @@ MauvilleCity_Movement_14C2E8:: @ 814C2E8 MauvilleCity_EventScript_14C2F2:: @ 814C2F2 lock faceplayer - checkflag FLAG_RECEIVED_TM24 - goto_if_eq MauvilleCity_EventScript_14C368 + goto_if_set FLAG_RECEIVED_TM24, MauvilleCity_EventScript_14C368 compare VAR_NEW_MAUVILLE_STATE, 2 goto_if_eq MauvilleCity_EventScript_14C33C - checkflag FLAG_RECEIVED_BASEMENT_KEY - goto_if_eq MauvilleCity_EventScript_14C332 + goto_if_set FLAG_RECEIVED_BASEMENT_KEY, MauvilleCity_EventScript_14C332 msgbox MauvilleCity_Text_1661C1, 4 giveitem_std ITEM_BASEMENT_KEY setflag FLAG_RECEIVED_BASEMENT_KEY diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc index 6bd7f0f4f..08f11d641 100644 --- a/data/scripts/maps/MauvilleCity_BikeShop.inc +++ b/data/scripts/maps/MauvilleCity_BikeShop.inc @@ -4,10 +4,8 @@ MauvilleCity_BikeShop_MapScripts:: @ 8156795 MauvilleCity_BikeShop_EventScript_156796:: @ 8156796 lock faceplayer - checkflag FLAG_RECEIVED_BIKE - goto_if_eq MauvilleCity_BikeShop_EventScript_15686E - checkflag FLAG_DECLINED_BIKE - goto_if_eq MauvilleCity_BikeShop_EventScript_1567D1 + goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_15686E + goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_1567D1 msgbox MauvilleCity_BikeShop_Text_180F9F, 4 msgbox MauvilleCity_BikeShop_Text_181016, MSGBOX_YESNO compare RESULT, YES diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index e938a1b4c..2b784aeb9 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -34,7 +34,7 @@ MauvilleCity_GameCorner_EventScript_156A60:: @ 8156A60 MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9950 - goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C + goto_if_ge MauvilleCity_GameCorner_EventScript_156B5C checkmoney 0x3e8, 0 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C @@ -53,7 +53,7 @@ MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE MauvilleCity_GameCorner_EventScript_156AF0:: @ 8156AF0 checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9500 - goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C + goto_if_ge MauvilleCity_GameCorner_EventScript_156B5C checkmoney 0x2710, 0 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C @@ -155,7 +155,7 @@ MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4 bufferdecorationname 1, DECOR_TREECKO_DOLL checkdecorspace DECOR_TREECKO_DOLL compare RESULT, 0 @@ -171,7 +171,7 @@ MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46 MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4 bufferdecorationname 1, DECOR_TORCHIC_DOLL checkdecorspace DECOR_TORCHIC_DOLL compare RESULT, 0 @@ -187,7 +187,7 @@ MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80 MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + goto_if_lt MauvilleCity_GameCorner_EventScript_156CF4 bufferdecorationname 1, DECOR_MUDKIP_DOLL checkdecorspace DECOR_MUDKIP_DOLL compare RESULT, 0 @@ -290,7 +290,7 @@ MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1500 - goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM32, 1 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C @@ -305,7 +305,7 @@ MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 3500 - goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM29, 1 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C @@ -320,7 +320,7 @@ MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76 MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM35, 1 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C @@ -335,7 +335,7 @@ MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0 MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM24, 1 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C @@ -350,7 +350,7 @@ MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA MauvilleCity_GameCorner_EventScript_156F24:: @ 8156F24 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 4000 - goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if_lt MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM13, 1 compare RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C @@ -389,8 +389,7 @@ MauvilleCity_GameCorner_EventScript_156F8D:: @ 8156F8D MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96 lock faceplayer - checkflag FLAG_RECEIVED_STARTER_DOLL - goto_if_eq MauvilleCity_GameCorner_EventScript_157072 + goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_157072 msgbox MauvilleCity_GameCorner_Text_181F3D, MSGBOX_YESNO compare RESULT, NO goto_if_eq MauvilleCity_GameCorner_EventScript_157068 @@ -460,11 +459,10 @@ MauvilleCity_GameCorner_EventScript_15707C:: @ 815707C end MauvilleCity_GameCorner_EventScript_15709C:: @ 815709C - checkflag FLAG_RECEIVED_20_COINS - goto_if_eq MauvilleCity_GameCorner_EventScript_1570CA + goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_1570CA checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 1 - goto_if 4, MauvilleCity_GameCorner_EventScript_1570CA + goto_if_ge MauvilleCity_GameCorner_EventScript_1570CA setflag FLAG_RECEIVED_20_COINS givecoins 20 msgbox MauvilleCity_GameCorner_Text_18208E, 4 diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc index fd9c673dc..1dc7fc0c7 100644 --- a/data/scripts/maps/MauvilleCity_Gym.inc +++ b/data/scripts/maps/MauvilleCity_Gym.inc @@ -3,8 +3,7 @@ MauvilleCity_Gym_MapScripts:: @ 8156450 .byte 0 MauvilleCity_Gym_MapScript1_156456:: @ 8156456 - checkflag FLAG_DEFEATED_MAUVILLE_GYM - goto_if_eq MauvilleCity_Gym_EventScript_1565A7 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1565A7 switch VAR_MAUVILLE_GYM_STATE case 0, MauvilleCity_Gym_EventScript_156491 case 1, MauvilleCity_Gym_EventScript_15657D @@ -13,8 +12,7 @@ MauvilleCity_Gym_MapScript1_156456:: @ 8156456 end MauvilleCity_Gym_EventScript_156491:: @ 8156491 - checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE - goto_if_eq MauvilleCity_Gym_EventScript_15649B + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_15649B end MauvilleCity_Gym_EventScript_15649B:: @ 815649B @@ -69,8 +67,7 @@ MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7 MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB trainerbattle 1, OPPONENT_WATTSON, 0, MauvilleCity_Gym_Text_180C32, MauvilleCity_Gym_Text_180D64, MauvilleCity_Gym_EventScript_1565DB - checkflag FLAG_RECEIVED_TM34 - goto_if 0, MauvilleCity_Gym_EventScript_15661D + goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_15661D compare VAR_NEW_MAUVILLE_STATE, 2 goto_if_eq MauvilleCity_Gym_EventScript_156641 msgbox MauvilleCity_Gym_Text_180EDB, 4 @@ -86,7 +83,7 @@ MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB setflag FLAG_BADGE03_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if 1, MauvilleCity_Gym_EventScript_1A00FB + call_if_eq MauvilleCity_Gym_EventScript_1A00FB setvar VAR_SPECIAL_8, 3 call MauvilleCity_Gym_EventScript_1A01C0 special MauvilleGymSpecial3 @@ -111,8 +108,7 @@ MauvilleCity_Gym_EventScript_156641:: @ 8156641 MauvilleCity_Gym_EventScript_15664B:: @ 815664B lockall - checkflag FLAG_DEFEATED_MAUVILLE_GYM - goto_if_eq MauvilleCity_Gym_EventScript_1566DA + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA compare VAR_MAUVILLE_GYM_STATE, 1 goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar VAR_MAUVILLE_GYM_STATE, 1 @@ -122,8 +118,7 @@ MauvilleCity_Gym_EventScript_15664B:: @ 815664B MauvilleCity_Gym_EventScript_156670:: @ 8156670 lockall - checkflag FLAG_DEFEATED_MAUVILLE_GYM - goto_if_eq MauvilleCity_Gym_EventScript_1566DA + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA compare VAR_MAUVILLE_GYM_STATE, 2 goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar VAR_MAUVILLE_GYM_STATE, 2 @@ -133,8 +128,7 @@ MauvilleCity_Gym_EventScript_156670:: @ 8156670 MauvilleCity_Gym_EventScript_156695:: @ 8156695 lockall - checkflag FLAG_DEFEATED_MAUVILLE_GYM - goto_if_eq MauvilleCity_Gym_EventScript_1566DA + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_1566DA compare VAR_MAUVILLE_GYM_STATE, 3 goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar VAR_MAUVILLE_GYM_STATE, 3 @@ -147,10 +141,8 @@ MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA special MauvilleGymSpecial1 special DrawWholeMapView playse SE_KI_GASYAN - checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE - goto_if_eq MauvilleCity_Gym_EventScript_1566E1 - checkflag FLAG_MAUVILLE_GYM_BARRIERS_STATE - goto_if 0, MauvilleCity_Gym_EventScript_1566DC + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_1566E1 + goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_1566DC releaseall end @@ -191,8 +183,7 @@ MauvilleCity_Gym_EventScript_15672B:: @ 815672B MauvilleCity_Gym_EventScript_156742:: @ 8156742 lock faceplayer - checkflag FLAG_DEFEATED_MAUVILLE_GYM - goto_if_eq MauvilleCity_Gym_EventScript_156757 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_156757 msgbox MauvilleCity_Gym_Text_180815, 4 release end @@ -204,15 +195,13 @@ MauvilleCity_Gym_EventScript_156757:: @ 8156757 MauvilleCity_Gym_EventScript_156761:: @ 8156761 lockall - checkflag FLAG_BADGE03_GET - goto_if_eq MauvilleCity_Gym_EventScript_156781 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_156781 goto MauvilleCity_Gym_EventScript_15678B end MauvilleCity_Gym_EventScript_156771:: @ 8156771 lockall - checkflag FLAG_BADGE03_GET - goto_if_eq MauvilleCity_Gym_EventScript_156781 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_156781 goto MauvilleCity_Gym_EventScript_15678B end diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc index 210288517..eb21a49e9 100644 --- a/data/scripts/maps/MauvilleCity_House1.inc +++ b/data/scripts/maps/MauvilleCity_House1.inc @@ -4,8 +4,7 @@ MauvilleCity_House1_MapScripts:: @ 81569FC MauvilleCity_House1_EventScript_1569FD:: @ 81569FD lock faceplayer - checkflag FLAG_RECEIVED_HM06 - goto_if_eq MauvilleCity_House1_EventScript_156A29 + goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_156A29 msgbox MauvilleCity_House1_Text_181B1A, 4 giveitem_std ITEM_HM06 setflag FLAG_RECEIVED_HM06 diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc index 9d3bce68a..f18d278b5 100644 --- a/data/scripts/maps/MauvilleCity_House2.inc +++ b/data/scripts/maps/MauvilleCity_House2.inc @@ -4,8 +4,7 @@ MauvilleCity_House2_MapScripts:: @ 81572BF MauvilleCity_House2_EventScript_1572C0:: @ 81572C0 lock faceplayer - checkflag FLAG_RECEIVED_COIN_CASE - goto_if_eq MauvilleCity_House2_EventScript_15733D + goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_15733D msgbox MauvilleCity_House2_Text_18244E, 4 checkitem ITEM_HARBOR_MAIL, 1 compare RESULT, 1 diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc index bf51408b8..272d7ed6e 100644 --- a/data/scripts/maps/MeteorFalls_1F_1R.inc +++ b/data/scripts/maps/MeteorFalls_1F_1R.inc @@ -215,8 +215,7 @@ MeteorFalls_1F_1R_Movement_15C64F:: @ 815C64F MeteorFalls_1F_1R_EventScript_15C656:: @ 815C656 lock faceplayer - checkflag FLAG_MET_PROF_COSMO - goto_if_eq MeteorFalls_1F_1R_EventScript_15C66E + goto_if_set FLAG_MET_PROF_COSMO, MeteorFalls_1F_1R_EventScript_15C66E setflag FLAG_MET_PROF_COSMO msgbox MeteorFalls_1F_1R_Text_1937EB, 4 release diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc index 3d1baf143..7ec338927 100644 --- a/data/scripts/maps/MossdeepCity.inc +++ b/data/scripts/maps/MossdeepCity.inc @@ -7,8 +7,7 @@ MossdeepCity_MapScript1_14CF98:: @ 814CF98 clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, MossdeepCity_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, MossdeepCity_EventScript_1A02C1 end MossdeepCity_EventScript_14CFAE:: @ 814CFAE @@ -68,8 +67,7 @@ MossdeepCity_EventScript_14D011:: @ 814D011 MossdeepCity_EventScript_14D027:: @ 814D027 lock faceplayer - checkflag FLAG_RECEIVED_KINGS_ROCK - goto_if_eq MossdeepCity_EventScript_14D069 + goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_14D069 msgbox MossdeepCity_Text_1690A9, MSGBOX_YESNO compare RESULT, NO goto_if_eq MossdeepCity_EventScript_14D073 diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc index eac7f4adb..364778613 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc @@ -7,7 +7,7 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52 MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62 special ValidateEReaderTrainer compare RESULT, 1 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC71 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AC71 end MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71 @@ -18,9 +18,9 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71 MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84 special ValidateEReaderTrainer compare RESULT, 0 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AC9E compare VAR_GAME_CORNER_STATE, 0 - call_if 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF + call_if_ne MossdeepCity_GameCorner_1F_EventScript_15ACAF end MossdeepCity_GameCorner_1F_EventScript_15AC9E:: @ 815AC9E @@ -50,11 +50,11 @@ MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5 applymovement 255, MossdeepCity_GameCorner_1F_Movement_1A0841 waitmovement 0 compare VAR_GAME_CORNER_STATE, 1 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD22 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD22 compare VAR_GAME_CORNER_STATE, 2 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD2B compare VAR_GAME_CORNER_STATE, 3 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD34 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD34 special LoadPlayerParty setvar VAR_GAME_CORNER_STATE, 0 releaseall @@ -101,7 +101,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 msgbox MossdeepCity_GameCorner_1F_Text_18E741, MSGBOX_YESNO compare RESULT, NO - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 special LoadPlayerParty call S_DoSaveDialog compare RESULT, 0 @@ -112,11 +112,11 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4 closemessage compare FACING, 2 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE04 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE04 compare FACING, 4 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE16 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE16 compare FACING, 3 - call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE28 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_15AE28 warp MAP_MOSSDEEP_CITY_GAME_CORNER_B1F, 255, 3, 1 waitstate release diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc index 9f20b6310..f62693756 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc @@ -23,11 +23,11 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E special StartSpecialBattle waitstate compare RESULT, 3 - call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5 + call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AED5 compare RESULT, 1 - call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3 + call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AEE3 compare RESULT, 2 - call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE + call_if_eq MossdeepCity_GameCorner_B1F_EventScript_15AEEE closemessage special ScrSpecial_HealPlayerParty applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc index bc22ce3fe..341962431 100644 --- a/data/scripts/maps/MossdeepCity_Gym.inc +++ b/data/scripts/maps/MossdeepCity_Gym.inc @@ -3,26 +3,22 @@ MossdeepCity_Gym_MapScripts:: @ 815A4D3 .byte 0 MossdeepCity_Gym_MapScript1_15A4D9:: @ 815A4D9 - checkflag FLAG_MOSSDEEP_GYM_SWITCH_1 - goto_if_eq MossdeepCity_Gym_EventScript_15A510 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_15A510 goto MossdeepCity_Gym_EventScript_15A4E8 end MossdeepCity_Gym_EventScript_15A4E8:: @ 815A4E8 - checkflag FLAG_MOSSDEEP_GYM_SWITCH_2 - goto_if_eq MossdeepCity_Gym_EventScript_15A528 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_15A528 goto MossdeepCity_Gym_EventScript_15A4F7 end MossdeepCity_Gym_EventScript_15A4F7:: @ 815A4F7 - checkflag FLAG_MOSSDEEP_GYM_SWITCH_3 - goto_if_eq MossdeepCity_Gym_EventScript_15A540 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_15A540 goto MossdeepCity_Gym_EventScript_15A506 end MossdeepCity_Gym_EventScript_15A506:: @ 815A506 - checkflag FLAG_MOSSDEEP_GYM_SWITCH_4 - goto_if_eq MossdeepCity_Gym_EventScript_15A558 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_15A558 end MossdeepCity_Gym_EventScript_15A510:: @ 815A510 @@ -50,8 +46,7 @@ MossdeepCity_Gym_EventScript_15A558:: @ 815A558 MossdeepCity_Gym_EventScript_15A56B:: @ 815A56B trainerbattle 8, OPPONENT_TATE_AND_LIZA, 0, MossdeepCity_Gym_Text_18CF02, MossdeepCity_Gym_Text_18D077, MossdeepCity_Gym_Text_18D324, MossdeepCity_Gym_EventScript_15A594 - checkflag FLAG_RECEIVED_TM04 - goto_if 0, MossdeepCity_Gym_EventScript_15A5C6 + goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_15A5C6 msgbox MossdeepCity_Gym_Text_18D273, 4 release end @@ -82,8 +77,7 @@ MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6 MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA lockall - checkflag FLAG_MOSSDEEP_GYM_SWITCH_1 - goto_if_eq MossdeepCity_Gym_EventScript_15A621 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_15A621 setflag FLAG_MOSSDEEP_GYM_SWITCH_1 applymovement 255, MossdeepCity_Gym_Movement_15A7F7 waitmovement 0 @@ -109,8 +103,7 @@ MossdeepCity_Gym_EventScript_15A621:: @ 815A621 MossdeepCity_Gym_EventScript_15A646:: @ 815A646 lockall - checkflag FLAG_MOSSDEEP_GYM_SWITCH_2 - goto_if_eq MossdeepCity_Gym_EventScript_15A675 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_15A675 setflag FLAG_MOSSDEEP_GYM_SWITCH_2 applymovement 255, MossdeepCity_Gym_Movement_15A7F7 waitmovement 0 @@ -130,8 +123,7 @@ MossdeepCity_Gym_EventScript_15A675:: @ 815A675 MossdeepCity_Gym_EventScript_15A69A:: @ 815A69A lockall - checkflag FLAG_MOSSDEEP_GYM_SWITCH_3 - goto_if_eq MossdeepCity_Gym_EventScript_15A6C9 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_15A6C9 setflag FLAG_MOSSDEEP_GYM_SWITCH_3 applymovement 255, MossdeepCity_Gym_Movement_15A7F7 waitmovement 0 @@ -151,8 +143,7 @@ MossdeepCity_Gym_EventScript_15A6C9:: @ 815A6C9 MossdeepCity_Gym_EventScript_15A6EE:: @ 815A6EE lockall - checkflag FLAG_MOSSDEEP_GYM_SWITCH_4 - goto_if_eq MossdeepCity_Gym_EventScript_15A71D + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_15A71D setflag FLAG_MOSSDEEP_GYM_SWITCH_4 applymovement 255, MossdeepCity_Gym_Movement_15A7F7 waitmovement 0 @@ -210,8 +201,7 @@ MossdeepCity_Gym_EventScript_15A7C1:: @ 815A7C1 MossdeepCity_Gym_EventScript_15A7D8:: @ 815A7D8 lock faceplayer - checkflag FLAG_DEFEATED_MOSSDEEP_GYM - goto_if_eq MossdeepCity_Gym_EventScript_15A7ED + goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_15A7ED msgbox MossdeepCity_Gym_Text_18C7E3, 4 release end @@ -228,15 +218,13 @@ MossdeepCity_Gym_Movement_15A7F7:: @ 815A7F7 MossdeepCity_Gym_EventScript_15A7FA:: @ 815A7FA lockall - checkflag FLAG_BADGE07_GET - goto_if_eq MossdeepCity_Gym_EventScript_15A81A + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_15A81A goto MossdeepCity_Gym_EventScript_15A824 end MossdeepCity_Gym_EventScript_15A80A:: @ 815A80A lockall - checkflag FLAG_BADGE07_GET - goto_if_eq MossdeepCity_Gym_EventScript_15A81A + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_15A81A goto MossdeepCity_Gym_EventScript_15A824 end diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc index 1da204ff0..415dbfc33 100644 --- a/data/scripts/maps/MossdeepCity_House2.inc +++ b/data/scripts/maps/MossdeepCity_House2.inc @@ -20,9 +20,9 @@ MossdeepCity_House2_EventScript_15A87B:: @ 815A87B setflag FLAG_WINGULL_DELIVERED_MAIL clearflag FLAG_HIDE_WINGULL_FORTREE_HOUSE compare FACING, 2 - call_if 1, MossdeepCity_House2_EventScript_15A8AE + call_if_eq MossdeepCity_House2_EventScript_15A8AE compare FACING, 3 - call_if 1, MossdeepCity_House2_EventScript_15A8B9 + call_if_eq MossdeepCity_House2_EventScript_15A8B9 removeobject 3 release end diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc index fb44685d8..4c4d6cbdd 100644 --- a/data/scripts/maps/MossdeepCity_House3.inc +++ b/data/scripts/maps/MossdeepCity_House3.inc @@ -4,8 +4,7 @@ MossdeepCity_House3_MapScripts:: @ 815A971 MossdeepCity_House3_EventScript_15A972:: @ 815A972 lock faceplayer - checkflag FLAG_RECEIVED_SUPER_ROD - goto_if_eq MossdeepCity_House3_EventScript_15A9B1 + goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_15A9B1 msgbox MossdeepCity_House3_Text_18D909, MSGBOX_YESNO compare RESULT, NO goto_if_eq MossdeepCity_House3_EventScript_15A9BB diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc index 856ee1287..5fb0f97ff 100644 --- a/data/scripts/maps/MossdeepCity_House4.inc +++ b/data/scripts/maps/MossdeepCity_House4.inc @@ -4,8 +4,7 @@ MossdeepCity_House4_MapScripts:: @ 815AB30 MossdeepCity_House4_EventScript_15AB31:: @ 815AB31 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq MossdeepCity_House4_EventScript_15AB46 + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_15AB46 msgbox MossdeepCity_House4_Text_18E0E3, 4 release end diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc index 884124567..83b859c26 100644 --- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc +++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc @@ -8,9 +8,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B specialvar RESULT, GetWeekCount buffernumberstring 0, RESULT compare RESULT, 0 - call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA + call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15ABBA compare RESULT, 1 - call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3 + call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_15ABC3 closemessage applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D waitmovement 0 @@ -32,8 +32,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_15ABCC:: @ 815ABCC MossdeepCity_SpaceCenter_1F_EventScript_15ABD5:: @ 815ABD5 lock faceplayer - checkflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C + goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_15AC0C msgbox MossdeepCity_SpaceCenter_1F_Text_18E335, 4 giveitem_std ITEM_SUN_STONE compare RESULT, 0 diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc index ce2f2aad5..d9ad70f70 100644 --- a/data/scripts/maps/MossdeepCity_StevensHouse.inc +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -5,8 +5,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 815A9C5 .byte 0 MossdeepCity_StevensHouse_MapScript1_15A9D5:: @ 815A9D5 - checkflag FLAG_SYS_GAME_CLEAR - call_if 0, MossdeepCity_StevensHouse_EventScript_15A9DF + call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_15A9DF end MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF @@ -15,7 +14,7 @@ MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF MossdeepCity_StevensHouse_MapScript1_15A9E9:: @ 815A9E9 compare VAR_STEVENS_HOUSE_STATE, 1 - call_if 1, MossdeepCity_StevensHouse_EventScript_15A9F5 + call_if_eq MossdeepCity_StevensHouse_EventScript_15A9F5 end MossdeepCity_StevensHouse_EventScript_15A9F5:: @ 815A9F5 @@ -87,7 +86,7 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C bufferspeciesname 1, SPECIES_BELDUM msgbox MossdeepCity_StevensHouse_Text_1A1102, MSGBOX_YESNO compare RESULT, YES - call_if 1, MossdeepCity_StevensHouse_EventScript_1A0678 + call_if_eq MossdeepCity_StevensHouse_EventScript_1A0678 setflag FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE setflag FLAG_RECEIVED_BELDUM releaseall @@ -113,8 +112,7 @@ MossdeepCity_StevensHouse_EventScript_15AAF9:: @ 815AAF9 MossdeepCity_StevensHouse_EventScript_15AB02:: @ 815AB02 lockall - checkflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER - goto_if_eq MossdeepCity_StevensHouse_EventScript_15AB16 + goto_if_set FLAG_OMIT_DIVE_FROM_STEVEN_LETTER, MossdeepCity_StevensHouse_EventScript_15AB16 msgbox MossdeepCity_StevensHouse_Text_18DF1A, 4 releaseall end diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc index be4799a45..ac7c00013 100644 --- a/data/scripts/maps/MtChimney.inc +++ b/data/scripts/maps/MtChimney.inc @@ -26,7 +26,7 @@ MtChimney_EventScript_15CF95:: @ 815CF95 msgbox MtChimney_Text_1957A9, 4 checkitemspace ITEM_LAVA_COOKIE, 1 compare RESULT, 1 - call_if 1, MtChimney_EventScript_15D000 + call_if_eq MtChimney_EventScript_15D000 giveitem_std ITEM_LAVA_COOKIE compare RESULT, 0 goto_if_eq MtChimney_EventScript_15CFF3 @@ -406,10 +406,8 @@ MtChimney_EventScript_15D174:: @ 815D174 MtChimney_EventScript_15D17D:: @ 815D17D lockall - checkflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY - goto_if 0, MtChimney_EventScript_15D1D0 - checkflag FLAG_RECEIVED_METEORITE - goto_if_eq MtChimney_EventScript_15D1C6 + goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_15D1D0 + goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_15D1C6 msgbox MtChimney_Text_195870, MSGBOX_YESNO compare RESULT, NO goto_if_eq MtChimney_EventScript_15D1BC diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc index aefc68bda..1f98778d6 100644 --- a/data/scripts/maps/MtChimney_CableCarStation.inc +++ b/data/scripts/maps/MtChimney_CableCarStation.inc @@ -5,7 +5,7 @@ MtChimney_CableCarStation_MapScripts:: @ 815C0FA MtChimney_CableCarStation_MapScript1_15C105:: @ 815C105 compare VAR_CABLE_CAR_STATION_STATE, 1 - call_if 1, MtChimney_CableCarStation_EventScript_15C111 + call_if_eq MtChimney_CableCarStation_EventScript_15C111 end MtChimney_CableCarStation_EventScript_15C111:: @ 815C111 @@ -48,7 +48,7 @@ MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C setvar VAR_CABLE_CAR_STATION_STATE, 2 incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp - special sub_8123218 + special CableCar waitstate release end diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc index 7073000d5..f34c31da0 100644 --- a/data/scripts/maps/MtPyre_1F.inc +++ b/data/scripts/maps/MtPyre_1F.inc @@ -4,8 +4,7 @@ MtPyre_1F_MapScripts:: @ 815D322 MtPyre_1F_EventScript_15D323:: @ 815D323 lock faceplayer - checkflag FLAG_RECEIVED_CLEANSE_TAG - goto_if_eq MtPyre_1F_EventScript_15D352 + goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_15D352 msgbox MtPyre_1F_Text_196151, 4 giveitem_std ITEM_CLEANSE_TAG compare RESULT, 0 diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc index ec5864df5..f8b4141d7 100644 --- a/data/scripts/maps/MtPyre_Exterior.inc +++ b/data/scripts/maps/MtPyre_Exterior.inc @@ -9,7 +9,7 @@ MtPyre_Exterior_MapScript1_15D48C:: @ 815D48C MtPyre_Exterior_EventScript_15D492:: @ 815D492 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 12 - goto_if 0, MtPyre_Exterior_EventScript_15D4A3 + goto_if_lt MtPyre_Exterior_EventScript_15D4A3 return MtPyre_Exterior_EventScript_15D4A3:: @ 815D4A3 diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc index 56ef5db79..d37100938 100644 --- a/data/scripts/maps/MtPyre_Summit.inc +++ b/data/scripts/maps/MtPyre_Summit.inc @@ -31,11 +31,11 @@ MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1 waitmovement 0 delay 50 compare VAR_SPECIAL_8, 0 - call_if 1, MtPyre_Summit_EventScript_15D593 + call_if_eq MtPyre_Summit_EventScript_15D593 compare VAR_SPECIAL_8, 1 - call_if 1, MtPyre_Summit_EventScript_15D59E + call_if_eq MtPyre_Summit_EventScript_15D59E compare VAR_SPECIAL_8, 2 - call_if 1, MtPyre_Summit_EventScript_15D59F + call_if_eq MtPyre_Summit_EventScript_15D59F .ifdef SAPPHIRE msgbox UnknownString_81B52B0, 4 .else @@ -53,11 +53,11 @@ MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1 delay 20 call MtPyre_Summit_EventScript_15D57A compare VAR_SPECIAL_8, 0 - call_if 1, MtPyre_Summit_EventScript_15D5AA + call_if_eq MtPyre_Summit_EventScript_15D5AA compare VAR_SPECIAL_8, 1 - call_if 1, MtPyre_Summit_EventScript_15D5BF + call_if_eq MtPyre_Summit_EventScript_15D5BF compare VAR_SPECIAL_8, 2 - call_if 1, MtPyre_Summit_EventScript_15D5CA + call_if_eq MtPyre_Summit_EventScript_15D5CA .ifdef SAPPHIRE msgbox UnknownString_81B53AB, 4 .else @@ -144,9 +144,9 @@ MtPyre_Summit_EventScript_15D5EF:: @ 815D5EF msgbox MtPyre_Summit_Text_1B64B3, MSGBOX_YESNO .endif compare RESULT, YES - call_if 1, MtPyre_Summit_EventScript_15D611 + call_if_eq MtPyre_Summit_EventScript_15D611 compare RESULT, NO - call_if 1, MtPyre_Summit_EventScript_15D61A + call_if_eq MtPyre_Summit_EventScript_15D61A release end @@ -169,12 +169,9 @@ MtPyre_Summit_EventScript_15D61A:: @ 815D61A MtPyre_Summit_EventScript_15D623:: @ 815D623 lock faceplayer - checkflag FLAG_RETURNED_RED_OR_BLUE_ORB - goto_if_eq MtPyre_Summit_EventScript_15D6C4 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq MtPyre_Summit_EventScript_15D64A - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if_eq MtPyre_Summit_EventScript_15D6BA + goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_15D6C4 + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, MtPyre_Summit_EventScript_15D64A + goto_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_15D6BA .ifdef SAPPHIRE msgbox UnknownString_81B54BE, 4 .else @@ -269,11 +266,11 @@ MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2 waitmovement 0 delay 50 compare VAR_SPECIAL_8, 0 - call_if 1, MtPyre_Summit_EventScript_15D75E + call_if_eq MtPyre_Summit_EventScript_15D75E compare VAR_SPECIAL_8, 1 - call_if 1, MtPyre_Summit_EventScript_15D769 + call_if_eq MtPyre_Summit_EventScript_15D769 compare VAR_SPECIAL_8, 2 - call_if 1, MtPyre_Summit_EventScript_15D774 + call_if_eq MtPyre_Summit_EventScript_15D774 .ifdef SAPPHIRE msgbox UnknownString_81B5BFC, 4 .else @@ -281,11 +278,11 @@ MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2 .endif closemessage compare VAR_SPECIAL_8, 0 - call_if 1, MtPyre_Summit_EventScript_15D77F + call_if_eq MtPyre_Summit_EventScript_15D77F compare VAR_SPECIAL_8, 1 - call_if 1, MtPyre_Summit_EventScript_15D78A + call_if_eq MtPyre_Summit_EventScript_15D78A compare VAR_SPECIAL_8, 2 - call_if 1, MtPyre_Summit_EventScript_15D795 + call_if_eq MtPyre_Summit_EventScript_15D795 removeobject 2 setvar VAR_MT_PYRE_STATE, 3 releaseall diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc index 2a4d8afce..1c8bdfb3f 100644 --- a/data/scripts/maps/NewMauville_Entrance.inc +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 815E48A NewMauville_Entrance_MapScript1_15E495:: @ 815E495 compare VAR_NEW_MAUVILLE_STATE, 0 - call_if 1, NewMauville_Entrance_EventScript_15E4A1 + call_if_eq NewMauville_Entrance_EventScript_15E4A1 end NewMauville_Entrance_EventScript_15E4A1:: @ 815E4A1 diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc index ae33d7978..e045cda5d 100644 --- a/data/scripts/maps/NewMauville_Inside.inc +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -6,11 +6,10 @@ NewMauville_Inside_MapScripts:: @ 815E55F NewMauville_Inside_MapScript1_15E56F:: @ 815E56F compare VAR_TEMP_1, 1 - call_if 1, NewMauville_Inside_EventScript_15E5DA + call_if_eq NewMauville_Inside_EventScript_15E5DA compare VAR_TEMP_2, 1 - call_if 1, NewMauville_Inside_EventScript_15E728 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, NewMauville_Inside_EventScript_15E58F + call_if_eq NewMauville_Inside_EventScript_15E728 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_15E58F end NewMauville_Inside_EventScript_15E58F:: @ 815E58F @@ -24,7 +23,7 @@ NewMauville_Inside_MapScript1_15E593:: @ 815E593 NewMauville_Inside_MapScript1_15E59E:: @ 815E59E compare VAR_NEW_MAUVILLE_STATE, 2 - call_if 1, NewMauville_Inside_EventScript_15E88B + call_if_eq NewMauville_Inside_EventScript_15E88B end NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc index a2d2616d3..9b1c9dd80 100644 --- a/data/scripts/maps/OldaleTown.inc +++ b/data/scripts/maps/OldaleTown.inc @@ -5,12 +5,9 @@ OldaleTown_MapScripts:: @ 814DD62 OldaleTown_MapScript1_14DD68:: @ 814DD68 call OldaleTown_EventScript_1A014E setflag FLAG_VISITED_OLDALE_TOWN - checkflag FLAG_ADVENTURE_STARTED - call_if 0, OldaleTown_EventScript_14DD92 - checkflag FLAG_RECEIVED_POTION_OLDALE - call_if 0, OldaleTown_EventScript_14DD9E - checkflag FLAG_ADVENTURE_STARTED - call_if 1, OldaleTown_EventScript_14DD8C + call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DD92 + call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_14DD9E + call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DD8C end OldaleTown_EventScript_14DD8C:: @ 814DD8C @@ -38,10 +35,8 @@ OldaleTown_EventScript_14DDB3:: @ 814DDB3 OldaleTown_EventScript_14DDBC:: @ 814DDBC lock faceplayer - checkflag FLAG_RECEIVED_POTION_OLDALE - goto_if_eq OldaleTown_EventScript_14DE79 - checkflag FLAG_TEMP_1 - goto_if_eq OldaleTown_EventScript_14DE79 + goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_14DE79 + goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_14DE79 setflag FLAG_TEMP_1 playbgm BGM_TSURETEK, FALSE msgbox OldaleTown_Text_16AEF2, 4 @@ -195,8 +190,7 @@ OldaleTown_Movement_14DECB:: @ 814DECB OldaleTown_EventScript_14DEDF:: @ 814DEDF lock faceplayer - checkflag FLAG_ADVENTURE_STARTED - goto_if_eq OldaleTown_EventScript_14DF26 + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_14DF26 msgbox OldaleTown_Text_16B0CC, 4 closemessage applymovement 3, OldaleTown_Movement_1A083D diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc index f90c787c2..15cf40027 100644 --- a/data/scripts/maps/OldaleTown_Mart.inc +++ b/data/scripts/maps/OldaleTown_Mart.inc @@ -6,8 +6,7 @@ OldaleTown_Mart_EventScript_152F79:: @ 8152F79 faceplayer message OldaleTown_Mart_Text_1A0BE4 waitmessage - checkflag FLAG_ADVENTURE_STARTED - goto_if_eq OldaleTown_Mart_EventScript_152FA8 + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_152FA8 pokemart OldaleTown_Mart_Items1 msgbox OldaleTown_Mart_Text_1A0C02, 4 release @@ -43,8 +42,7 @@ OldaleTown_Mart_Items2:: @ 8152FB8 OldaleTown_Mart_EventScript_152FC6:: @ 8152FC6 lock faceplayer - checkflag FLAG_ADVENTURE_STARTED - goto_if_eq OldaleTown_Mart_EventScript_152FDB + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_152FDB msgbox OldaleTown_Mart_Text_174A8A, 4 release end diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc index d94e02227..c993807c6 100644 --- a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc @@ -26,8 +26,7 @@ OldaleTown_PokemonCenter_1F_EventScript_152F2E:: @ 8152F2E OldaleTown_PokemonCenter_1F_EventScript_152F37:: @ 8152F37 lock faceplayer - checkflag FLAG_SYS_POKEDEX_GET - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_152F4C + goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_152F4C msgbox OldaleTown_PokemonCenter_1F_Text_1749C0, 4 release end diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc index df7f42a8b..8ad949bf2 100644 --- a/data/scripts/maps/PacifidlogTown_House2.inc +++ b/data/scripts/maps/PacifidlogTown_House2.inc @@ -6,28 +6,24 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168 faceplayer dodailyevents call PacifidlogTown_House2_EventScript_1541B4 - checkflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK - goto_if_eq PacifidlogTown_House2_EventScript_154254 - checkflag FLAG_MET_FANCLUB_YOUNGER_BROTHER - call_if 1, PacifidlogTown_House2_EventScript_1541CE - checkflag FLAG_MET_FANCLUB_YOUNGER_BROTHER - call_if 0, PacifidlogTown_House2_EventScript_1541D7 + goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_154254 + call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_1541CE + call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_1541D7 setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 4 - goto_if 4, PacifidlogTown_House2_EventScript_1541EC + goto_if_ge PacifidlogTown_House2_EventScript_1541EC specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 2 - goto_if 4, PacifidlogTown_House2_EventScript_15421B + goto_if_ge PacifidlogTown_House2_EventScript_15421B goto PacifidlogTown_House2_EventScript_154225 end PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4 - checkflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK - goto_if 0, PacifidlogTown_House2_EventScript_1A14DC + goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_1A14DC specialvar RESULT, GetDaysUntilPacifidlogTMAvailable compare RESULT, 0 - call_if 1, PacifidlogTown_House2_EventScript_1541E8 + call_if_eq PacifidlogTown_House2_EventScript_1541E8 return PacifidlogTown_House2_EventScript_1541CE:: @ 81541CE diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc index f51aea6f7..3b21ac996 100644 --- a/data/scripts/maps/PacifidlogTown_House3.inc +++ b/data/scripts/maps/PacifidlogTown_House3.inc @@ -4,8 +4,7 @@ PacifidlogTown_House3_MapScripts:: @ 815429D PacifidlogTown_House3_EventScript_15429E:: @ 815429E lock faceplayer - checkflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED - goto_if_eq PacifidlogTown_House3_EventScript_154338 + goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_154338 setvar VAR_SPECIAL_8, 2 copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo @@ -22,7 +21,7 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E specialvar RESULT, GetTradeSpecies copyvar VAR_SPECIAL_B, RESULT compare RESULT, VAR_SPECIAL_9 - goto_if 5, PacifidlogTown_House3_EventScript_15432A + goto_if_ne PacifidlogTown_House3_EventScript_15432A copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 copyvar VAR_SPECIAL_5, VAR_SPECIAL_A special CreateInGameTradePokemon diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc index ea58f50c6..cb47a0edd 100644 --- a/data/scripts/maps/PetalburgCity.inc +++ b/data/scripts/maps/PetalburgCity.inc @@ -6,9 +6,9 @@ PetalburgCity_MapScripts:: @ 814B70C PetalburgCity_MapScript1_14B717:: @ 814B717 setflag FLAG_VISITED_PETALBURG_CITY compare VAR_PETALBURG_STATE, 0 - call_if 1, PetalburgCity_EventScript_14B731 + call_if_eq PetalburgCity_EventScript_14B731 compare VAR_PETALBURG_STATE, 2 - call_if 1, PetalburgCity_EventScript_14B739 + call_if_eq PetalburgCity_EventScript_14B739 end PetalburgCity_EventScript_14B731:: @ 814B731 @@ -188,23 +188,23 @@ PetalburgCity_EventScript_14B866:: @ 814B866 applymovement 9, PetalburgCity_Movement_1A0835 waitmovement 0 compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_EventScript_14B91B + call_if_eq PetalburgCity_EventScript_14B91B compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_EventScript_14B930 + call_if_eq PetalburgCity_EventScript_14B930 compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_EventScript_14B93B + call_if_eq PetalburgCity_EventScript_14B93B compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_EventScript_14B950 + call_if_eq PetalburgCity_EventScript_14B950 msgbox PetalburgCity_Text_16438A, 4 closemessage compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_EventScript_14B965 + call_if_eq PetalburgCity_EventScript_14B965 compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_EventScript_14B977 + call_if_eq PetalburgCity_EventScript_14B977 compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_EventScript_14B989 + call_if_eq PetalburgCity_EventScript_14B989 compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_EventScript_14B99B + call_if_eq PetalburgCity_EventScript_14B99B msgbox PetalburgCity_Text_164426, 4 applymovement 9, PetalburgCity_Movement_1A0843 applymovement 255, PetalburgCity_Movement_1A0843 diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc index 406f260b0..1199b3571 100644 --- a/data/scripts/maps/PetalburgCity_Gym.inc +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -9,26 +9,19 @@ PetalburgCity_Gym_MapScript1_15448C:: @ 815448C compare VAR_PETALBURG_GYM_STATE, 6 goto_if_eq PetalburgCity_Gym_EventScript_1544A3 compare VAR_PETALBURG_GYM_STATE, 7 - call_if 4, PetalburgCity_Gym_EventScript_1544ED + call_if_ge PetalburgCity_Gym_EventScript_1544ED end PetalburgCity_Gym_EventScript_1544A3:: @ 81544A3 setvar VAR_SPECIAL_5, 1 call PetalburgCity_Gym_EventScript_154F9A - checktrainerflag OPPONENT_RANDALL - call_if 1, PetalburgCity_Gym_EventScript_154FBB - checktrainerflag OPPONENT_MARY - call_if 1, PetalburgCity_Gym_EventScript_154FDC - checktrainerflag OPPONENT_PARKER - call_if 1, PetalburgCity_Gym_EventScript_154FFD - checktrainerflag OPPONENT_LORI - call_if 1, PetalburgCity_Gym_EventScript_15501E - checktrainerflag OPPONENT_GEORGE - call_if 1, PetalburgCity_Gym_EventScript_15503F - checktrainerflag OPPONENT_JODY - call_if 1, PetalburgCity_Gym_EventScript_155060 - checktrainerflag OPPONENT_BERKE - call_if 1, PetalburgCity_Gym_EventScript_155081 + call_if_trainer_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154FBB + call_if_trainer_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154FDC + call_if_trainer_defeated OPPONENT_PARKER, PetalburgCity_Gym_EventScript_154FFD + call_if_trainer_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_15501E + call_if_trainer_defeated OPPONENT_GEORGE, PetalburgCity_Gym_EventScript_15503F + call_if_trainer_defeated OPPONENT_JODY, PetalburgCity_Gym_EventScript_155060 + call_if_trainer_defeated OPPONENT_BERKE, PetalburgCity_Gym_EventScript_155081 end PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED @@ -45,11 +38,10 @@ PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED PetalburgCity_Gym_MapScript1_15451B:: @ 815451B compare VAR_PETALBURG_GYM_STATE, 1 - call_if 1, PetalburgCity_Gym_EventScript_15453B + call_if_eq PetalburgCity_Gym_EventScript_15453B compare VAR_PETALBURG_GYM_STATE, 6 - call_if 0, PetalburgCity_Gym_EventScript_154543 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, PetalburgCity_Gym_EventScript_15454B + call_if_lt PetalburgCity_Gym_EventScript_154543 + call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_15454B end PetalburgCity_Gym_EventScript_15453B:: @ 815453B @@ -145,65 +137,65 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669 addobject 10 playse SE_DOOR compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_1547EE + call_if_eq PetalburgCity_Gym_EventScript_1547EE compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_154800 + call_if_eq PetalburgCity_Gym_EventScript_154800 compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_15481C + call_if_eq PetalburgCity_Gym_EventScript_15481C compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_15481C + call_if_eq PetalburgCity_Gym_EventScript_15481C msgbox PetalburgCity_Gym_Text_179F07, 4 msgbox PetalburgCity_Gym_Text_179F37, 4 msgbox PetalburgCity_Gym_Text_179F70, 4 msgbox PetalburgCity_Gym_Text_17A03A, 4 compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_154884 + call_if_eq PetalburgCity_Gym_EventScript_154884 compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_15488F + call_if_eq PetalburgCity_Gym_EventScript_15488F compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_1548A1 + call_if_eq PetalburgCity_Gym_EventScript_1548A1 compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_1548B3 + call_if_eq PetalburgCity_Gym_EventScript_1548B3 msgbox PetalburgCity_Gym_Text_17A04A, 4 compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_1548C5 + call_if_eq PetalburgCity_Gym_EventScript_1548C5 compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_1548D0 + call_if_eq PetalburgCity_Gym_EventScript_1548D0 compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_1548DB + call_if_eq PetalburgCity_Gym_EventScript_1548DB compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_1548E6 + call_if_eq PetalburgCity_Gym_EventScript_1548E6 msgbox PetalburgCity_Gym_Text_17A0A8, 4 msgbox PetalburgCity_Gym_Text_17A0EB, 4 msgbox PetalburgCity_Gym_Text_17A156, 4 compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_15492F + call_if_eq PetalburgCity_Gym_EventScript_15492F compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_154930 + call_if_eq PetalburgCity_Gym_EventScript_154930 compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_15493B + call_if_eq PetalburgCity_Gym_EventScript_15493B compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_15493C + call_if_eq PetalburgCity_Gym_EventScript_15493C compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_1548F1 + call_if_eq PetalburgCity_Gym_EventScript_1548F1 compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_1548FC + call_if_eq PetalburgCity_Gym_EventScript_1548FC compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_1548F1 + call_if_eq PetalburgCity_Gym_EventScript_1548F1 compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_1548F1 + call_if_eq PetalburgCity_Gym_EventScript_1548F1 msgbox PetalburgCity_Gym_Text_17A171, 4 closemessage setflag FLAG_SPECIAL_FLAG_1 playbgm BGM_TSURETEK, FALSE compare VAR_SPECIAL_8, 0 - call_if 1, PetalburgCity_Gym_EventScript_154835 + call_if_eq PetalburgCity_Gym_EventScript_154835 compare VAR_SPECIAL_8, 1 - call_if 1, PetalburgCity_Gym_EventScript_15484E + call_if_eq PetalburgCity_Gym_EventScript_15484E compare VAR_SPECIAL_8, 2 - call_if 1, PetalburgCity_Gym_EventScript_154860 + call_if_eq PetalburgCity_Gym_EventScript_154860 compare VAR_SPECIAL_8, 3 - call_if 1, PetalburgCity_Gym_EventScript_154872 + call_if_eq PetalburgCity_Gym_EventScript_154872 removeobject 10 setflag FLAG_HIDE_WALLY_MOM_PETALBURG_1 setvar VAR_PETALBURG_GYM_STATE, 1 @@ -354,10 +346,8 @@ PetalburgCity_Gym_EventScript_15493D:: @ 815493D call PetalburgCity_Gym_EventScript_154969 compare RESULT, 1 goto_if_eq PetalburgCity_Gym_EventScript_1549B8 - checkflag FLAG_RECEIVED_TM42 - goto_if 0, PetalburgCity_Gym_EventScript_154A2C - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq PetalburgCity_Gym_EventScript_154B69 + goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_154A2C + goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_154B69 msgbox PetalburgCity_Gym_Text_17AA6B, 4 release end @@ -420,22 +410,22 @@ PetalburgCity_Gym_EventScript_154A2C:: @ 8154A2C msgbox PetalburgCity_Gym_Text_17A976, 4 closemessage compare FACING, 2 - call_if 1, PetalburgCity_Gym_EventScript_154ABC + call_if_eq PetalburgCity_Gym_EventScript_154ABC compare FACING, 1 - call_if 1, PetalburgCity_Gym_EventScript_154AC7 + call_if_eq PetalburgCity_Gym_EventScript_154AC7 compare FACING, 3 - call_if 1, PetalburgCity_Gym_EventScript_154AD2 + call_if_eq PetalburgCity_Gym_EventScript_154AD2 compare FACING, 4 - call_if 1, PetalburgCity_Gym_EventScript_154ADD + call_if_eq PetalburgCity_Gym_EventScript_154ADD delay 70 compare FACING, 2 - call_if 1, PetalburgCity_Gym_EventScript_154AE8 + call_if_eq PetalburgCity_Gym_EventScript_154AE8 compare FACING, 1 - call_if 1, PetalburgCity_Gym_EventScript_154AF3 + call_if_eq PetalburgCity_Gym_EventScript_154AF3 compare FACING, 3 - call_if 1, PetalburgCity_Gym_EventScript_154AFE + call_if_eq PetalburgCity_Gym_EventScript_154AFE compare FACING, 4 - call_if 1, PetalburgCity_Gym_EventScript_154B09 + call_if_eq PetalburgCity_Gym_EventScript_154B09 msgbox PetalburgCity_Gym_Text_17A9F6, 4 release end @@ -593,7 +583,7 @@ PetalburgCity_Gym_EventScript_154B69:: @ 8154B69 PetalburgCity_Gym_EventScript_154B73:: @ 8154B73 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_lt PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 85 msgbox PetalburgCity_Gym_Text_17B870, MSGBOX_YESNO @@ -623,7 +613,7 @@ PetalburgCity_Gym_EventScript_154BB9:: @ 8154BB9 PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_lt PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 98 msgbox PetalburgCity_Gym_Text_17B8D4, MSGBOX_YESNO @@ -635,8 +625,7 @@ PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3 PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8 lockall - checktrainerflag OPPONENT_RANDALL - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 46 msgbox PetalburgCity_Gym_Text_17B90F, MSGBOX_YESNO @@ -648,8 +637,7 @@ PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8 PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B lockall - checktrainerflag OPPONENT_RANDALL - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_RANDALL, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 59 msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO @@ -661,8 +649,7 @@ PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E lockall - checktrainerflag OPPONENT_MARY - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 59 msgbox PetalburgCity_Gym_Text_17B950, MSGBOX_YESNO @@ -674,8 +661,7 @@ PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E PetalburgCity_Gym_EventScript_154C91:: @ 8154C91 lockall - checktrainerflag OPPONENT_MARY - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_MARY, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 72 msgbox PetalburgCity_Gym_Text_17B98A, MSGBOX_YESNO @@ -687,8 +673,7 @@ PetalburgCity_Gym_EventScript_154C91:: @ 8154C91 PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4 lockall - checktrainerflag OPPONENT_PARKER - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_PARKER, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 20 msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO @@ -700,8 +685,7 @@ PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4 PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7 lockall - checktrainerflag OPPONENT_LORI - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 20 msgbox PetalburgCity_Gym_Text_17B9C5, MSGBOX_YESNO @@ -713,8 +697,7 @@ PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7 PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A lockall - checktrainerflag OPPONENT_LORI - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_LORI, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 33 msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO @@ -726,8 +709,7 @@ PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D lockall - checktrainerflag OPPONENT_GEORGE - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_GEORGE, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 33 msgbox PetalburgCity_Gym_Text_17BA00, MSGBOX_YESNO @@ -739,8 +721,7 @@ PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D PetalburgCity_Gym_EventScript_154D90:: @ 8154D90 lockall - checktrainerflag OPPONENT_JODY - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_JODY, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 1 setvar VAR_SPECIAL_9, 7 msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO @@ -752,8 +733,7 @@ PetalburgCity_Gym_EventScript_154D90:: @ 8154D90 PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3 lockall - checktrainerflag OPPONENT_BERKE - goto_if 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if_trainer_not_defeated OPPONENT_BERKE, PetalburgCity_Gym_EventScript_154BB9 setvar VAR_SPECIAL_8, 7 setvar VAR_SPECIAL_9, 7 msgbox PetalburgCity_Gym_Text_17BA3D, MSGBOX_YESNO @@ -765,8 +745,7 @@ PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3 PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6 trainerbattle 2, OPPONENT_RANDALL, 0, PetalburgCity_Gym_Text_17ADA5, PetalburgCity_Gym_Text_17AE11, PetalburgCity_Gym_EventScript_154E1A - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154E29 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154E29 msgbox PetalburgCity_Gym_Text_17AE30, 6 end @@ -783,8 +762,7 @@ PetalburgCity_Gym_EventScript_154E29:: @ 8154E29 PetalburgCity_Gym_EventScript_154E32:: @ 8154E32 trainerbattle 2, OPPONENT_PARKER, 0, PetalburgCity_Gym_Text_17AF5A, PetalburgCity_Gym_Text_17AF98, PetalburgCity_Gym_EventScript_154E56 - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154E65 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154E65 msgbox PetalburgCity_Gym_Text_17AFD3, 6 end @@ -801,8 +779,7 @@ PetalburgCity_Gym_EventScript_154E65:: @ 8154E65 PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E trainerbattle 2, OPPONENT_GEORGE, 0, PetalburgCity_Gym_Text_17B058, PetalburgCity_Gym_Text_17B0F7, PetalburgCity_Gym_EventScript_154E92 - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154EA1 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154EA1 msgbox PetalburgCity_Gym_Text_17B12C, 6 end @@ -819,8 +796,7 @@ PetalburgCity_Gym_EventScript_154EA1:: @ 8154EA1 PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA trainerbattle 2, OPPONENT_BERKE, 0, PetalburgCity_Gym_Text_17B237, PetalburgCity_Gym_Text_17B2C0, PetalburgCity_Gym_EventScript_154ECE - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154EDD + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154EDD msgbox PetalburgCity_Gym_Text_17B2E4, 6 end @@ -837,8 +813,7 @@ PetalburgCity_Gym_EventScript_154EDD:: @ 8154EDD PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6 trainerbattle 2, OPPONENT_MARY, 0, PetalburgCity_Gym_Text_17B3F7, PetalburgCity_Gym_Text_17B454, PetalburgCity_Gym_EventScript_154F0A - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154F19 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F19 msgbox PetalburgCity_Gym_Text_17B46F, 6 end @@ -855,8 +830,7 @@ PetalburgCity_Gym_EventScript_154F19:: @ 8154F19 PetalburgCity_Gym_EventScript_154F22:: @ 8154F22 trainerbattle 2, OPPONENT_LORI, 0, PetalburgCity_Gym_Text_17B58D, PetalburgCity_Gym_Text_17B5CB, PetalburgCity_Gym_EventScript_154F46 - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154F55 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F55 msgbox PetalburgCity_Gym_Text_17B5EA, 6 end @@ -873,8 +847,7 @@ PetalburgCity_Gym_EventScript_154F55:: @ 8154F55 PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E trainerbattle 2, OPPONENT_JODY, 0, PetalburgCity_Gym_Text_17B6D4, PetalburgCity_Gym_Text_17B732, PetalburgCity_Gym_EventScript_154F82 - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_154F91 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_154F91 msgbox PetalburgCity_Gym_Text_17B749, 6 end @@ -892,72 +865,72 @@ PetalburgCity_Gym_EventScript_154F91:: @ 8154F91 PetalburgCity_Gym_EventScript_154F9A:: @ 8154F9A setvar VAR_SPECIAL_4, 1 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550A2 return PetalburgCity_Gym_EventScript_154FBB:: @ 8154FBB setvar VAR_SPECIAL_4, 2 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550C7 return PetalburgCity_Gym_EventScript_154FDC:: @ 8154FDC setvar VAR_SPECIAL_4, 3 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550EC return PetalburgCity_Gym_EventScript_154FFD:: @ 8154FFD setvar VAR_SPECIAL_4, 4 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155111 return PetalburgCity_Gym_EventScript_15501E:: @ 815501E setvar VAR_SPECIAL_4, 5 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155124 return PetalburgCity_Gym_EventScript_15503F:: @ 815503F setvar VAR_SPECIAL_4, 6 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155149 return PetalburgCity_Gym_EventScript_155060:: @ 8155060 setvar VAR_SPECIAL_4, 7 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_15515C return PetalburgCity_Gym_EventScript_155081:: @ 8155081 setvar VAR_SPECIAL_4, 8 compare VAR_SPECIAL_5, 0 - call_if 1, PetalburgCity_Gym_EventScript_155182 + call_if_eq PetalburgCity_Gym_EventScript_155182 compare VAR_SPECIAL_5, 1 - call_if 1, PetalburgCity_Gym_EventScript_155187 + call_if_eq PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_15516F return @@ -1021,8 +994,7 @@ PetalburgCity_Gym_EventScript_155187:: @ 8155187 PetalburgCity_Gym_EventScript_15518B:: @ 815518B lock faceplayer - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_Gym_EventScript_1551A0 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_1551A0 msgbox PetalburgCity_Gym_Text_17AB96, 4 release end @@ -1034,15 +1006,13 @@ PetalburgCity_Gym_EventScript_1551A0:: @ 81551A0 PetalburgCity_Gym_EventScript_1551AA:: @ 81551AA lockall - checkflag FLAG_BADGE05_GET - goto_if_eq PetalburgCity_Gym_EventScript_1551CA + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_1551CA goto PetalburgCity_Gym_EventScript_1551D4 end PetalburgCity_Gym_EventScript_1551BA:: @ 81551BA lockall - checkflag FLAG_BADGE05_GET - goto_if_eq PetalburgCity_Gym_EventScript_1551CA + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_1551CA goto PetalburgCity_Gym_EventScript_1551D4 end diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc index 66e247323..7584f6f19 100644 --- a/data/scripts/maps/PetalburgCity_Mart.inc +++ b/data/scripts/maps/PetalburgCity_Mart.inc @@ -6,8 +6,7 @@ PetalburgCity_Mart_EventScript_1552B0:: @ 81552B0 faceplayer message PetalburgCity_Mart_Text_1A0BE4 waitmessage - checkflag FLAG_PETALBURG_MART_EXPANDED_ITEMS - goto_if_eq PetalburgCity_Mart_EventScript_1552EA + goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_1552EA pokemart PetalburgCity_Mart_Items1 msgbox PetalburgCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc index 8dda62ea1..136cc11c5 100644 --- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc @@ -35,11 +35,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233 PetalburgCity_PokemonCenter_1F_EventScript_15524F:: @ 815524F compare VAR_STARTER_MON, 0 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155272 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_155272 compare VAR_STARTER_MON, 1 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_15527B compare VAR_STARTER_MON, 2 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155284 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_155284 release end diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc index 08bbcb0c7..d642d70ed 100644 --- a/data/scripts/maps/PetalburgCity_WallysHouse.inc +++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc @@ -4,22 +4,17 @@ PetalburgCity_WallysHouse_MapScripts:: @ 81543C3 PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4 lock faceplayer - checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD - goto_if_eq PetalburgCity_WallysHouse_EventScript_1543F7 - checkflag FLAG_RECEIVED_HM03 - goto_if_eq PetalburgCity_WallysHouse_EventScript_154427 - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_WallysHouse_EventScript_154406 - checkflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY - goto_if_eq PetalburgCity_WallysHouse_EventScript_15443B + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_1543F7 + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_154427 + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_WallysHouse_EventScript_154406 + goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_15443B msgbox PetalburgCity_WallysHouse_Text_179805, 4 setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY release end PetalburgCity_WallysHouse_EventScript_1543F7:: @ 81543F7 - checkflag FLAG_RECEIVED_HM03 - goto_if_eq PetalburgCity_WallysHouse_EventScript_154431 + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_154431 goto PetalburgCity_WallysHouse_EventScript_154406 end @@ -49,10 +44,8 @@ PetalburgCity_WallysHouse_EventScript_15443B:: @ 815443B PetalburgCity_WallysHouse_EventScript_154445:: @ 8154445 lock faceplayer - checkflag FLAG_RECEIVED_HM03 - goto_if_eq PetalburgCity_WallysHouse_EventScript_15446D - checkflag FLAG_DEFEATED_PETALBURG_GYM - goto_if_eq PetalburgCity_WallysHouse_EventScript_154463 + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_15446D + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_WallysHouse_EventScript_154463 msgbox PetalburgCity_WallysHouse_Text_179C2C, 4 release end diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc index 149fd4e46..17908440c 100644 --- a/data/scripts/maps/PetalburgWoods.inc +++ b/data/scripts/maps/PetalburgWoods.inc @@ -241,8 +241,7 @@ PetalburgWoods_EventScript_15CED3:: @ 815CED3 PetalburgWoods_EventScript_15CEDC:: @ 815CEDC lock faceplayer - checkflag FLAG_RECEIVED_MIRACLE_SEED - goto_if_eq PetalburgWoods_EventScript_15CF0B + goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_15CF0B msgbox PetalburgWoods_Text_19549E, 4 giveitem_std ITEM_MIRACLE_SEED compare RESULT, 0 diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc index c90a97531..a3824efcf 100644 --- a/data/scripts/maps/Route104.inc +++ b/data/scripts/maps/Route104.inc @@ -17,10 +17,8 @@ Route104_MapScript1_14EEA8:: @ 814EEA8 end Route104_EventScript_14EEAE:: @ 814EEAE - checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER - goto_if 0, Route104_EventScript_14EEC4 - checkflag FLAG_BADGE03_GET - goto_if 0, Route104_EventScript_14EEC4 + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_14EEC4 + goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_14EEC4 clearflag FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE return @@ -31,8 +29,7 @@ Route104_EventScript_14EEC4:: @ 814EEC4 Route104_EventScript_14EEC8:: @ 814EEC8 lock faceplayer - checkflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE104 - goto_if_eq Route104_EventScript_14EEFF + goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE104, Route104_EventScript_14EEFF msgbox Route104_Text_1C55B9, 4 giveitem_std ITEM_CHESTO_BERRY compare RESULT, 0 @@ -50,8 +47,7 @@ Route104_EventScript_14EEFF:: @ 814EEFF Route104_EventScript_14EF09:: @ 814EF09 lock faceplayer - checkflag FLAG_RECEIVED_WHITE_HERB - goto_if_eq Route104_EventScript_14EF38 + goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_14EF38 msgbox Route104_Text_16DD91, 4 giveitem_std ITEM_WHITE_HERB compare RESULT, 0 @@ -104,8 +100,7 @@ Route104_EventScript_14EF8A:: @ 814EF8A Route104_EventScript_14EF93:: @ 814EF93 lock faceplayer - checkflag FLAG_RECEIVED_TM09 - goto_if_eq Route104_EventScript_14EFC2 + goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_14EFC2 msgbox Route104_Text_16DC5F, 4 giveitem_std ITEM_TM09 compare RESULT, 0 @@ -158,10 +153,8 @@ Route104_EventScript_14EFD5:: @ 814EFD5 resetobjectpriority 2, MAP_DEWFORD_TOWN moveobjectoffscreen 2 setvar VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 0 - checkflag FLAG_DELIVERED_STEVEN_LETTER - goto_if 0, Route104_EventScript_14F08B - checkflag FLAG_DELIVERED_STEVEN_LETTER - goto_if_eq Route104_EventScript_14F095 + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_14F08B + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_14F095 end Route104_EventScript_14F08B:: @ 814F08B diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc index 4718f9bb9..514b1b9cc 100644 --- a/data/scripts/maps/Route104_MrBrineysHouse.inc +++ b/data/scripts/maps/Route104_MrBrineysHouse.inc @@ -5,9 +5,8 @@ Route104_MrBrineysHouse_MapScripts:: @ 815BCB2 Route104_MrBrineysHouse_MapScript1_15BCB8:: @ 815BCB8 setflag FLAG_LANDMARK_MR_BRINEY_HOUSE compare VAR_BRINEY_HOUSE_STATE, 1 - call_if 1, Route104_MrBrineysHouse_EventScript_15BCD4 - checkflag FLAG_RECEIVED_POKENAV - call_if 1, Route104_MrBrineysHouse_EventScript_15BCD0 + call_if_eq Route104_MrBrineysHouse_EventScript_15BCD4 + call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_15BCD0 end Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0 @@ -24,12 +23,9 @@ Route104_MrBrineysHouse_EventScript_15BCD4:: @ 815BCD4 Route104_MrBrineysHouse_EventScript_15BCEB:: @ 815BCEB lock faceplayer - checkflag FLAG_MR_BRINEY_SAILING_INTRO - call_if 0, Route104_MrBrineysHouse_EventScript_15BD0E - checkflag FLAG_DELIVERED_STEVEN_LETTER - goto_if 0, Route104_MrBrineysHouse_EventScript_15BD65 - checkflag FLAG_DELIVERED_DEVON_GOODS - goto_if 0, Route104_MrBrineysHouse_EventScript_15BD7E + call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_15BD0E + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_15BD65 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_15BD7E goto Route104_MrBrineysHouse_EventScript_15BD32 end diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc index f7fbb58b5..5e70a8ec2 100644 --- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc +++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc @@ -4,10 +4,8 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 815BDE4 Route104_PrettyPetalFlowerShop_MapScript1_15BDEA:: @ 815BDEA setflag FLAG_LANDMARK_FLOWER_SHOP - checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 - checkflag FLAG_BADGE03_GET - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_15BE03 + goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_15BE03 setflag FLAG_TEMP_1 end @@ -18,26 +16,24 @@ Route104_PrettyPetalFlowerShop_EventScript_15BE03:: @ 815BE03 Route104_PrettyPetalFlowerShop_EventScript_15BE0B:: @ 815BE0B lock faceplayer - checkflag FLAG_TEMP_1 - goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE7C + goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_15BE7C msgbox Route104_PrettyPetalFlowerShop_Text_1C5EC6, 4 - checkflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER - goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE4A + goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_15BE4A setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, MSGBOX_YESNO compare RESULT, YES - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE6A compare RESULT, NO - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end Route104_PrettyPetalFlowerShop_EventScript_15BE4A:: @ 815BE4A msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, MSGBOX_YESNO compare RESULT, YES - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE6A compare RESULT, NO - call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end @@ -72,8 +68,7 @@ Route104_PrettyPetalFlowerShop_Items:: @ 815BE94 Route104_PrettyPetalFlowerShop_EventScript_15BEA4:: @ 815BEA4 lock faceplayer - checkflag FLAG_RECEIVED_WAILMER_PAIL - goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9 + goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_15BEB9 msgbox Route104_PrettyPetalFlowerShop_Text_1C61E8, 4 release end @@ -90,8 +85,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEDA:: @ 815BEDA lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP - goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BF1A + goto_if_set FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP, Route104_PrettyPetalFlowerShop_EventScript_15BF1A msgbox Route104_PrettyPetalFlowerShop_Text_1C62DA, 4 random 8 addvar RESULT, ITEM_CHERI_BERRY diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc index b3b256d79..e0aba01c9 100644 --- a/data/scripts/maps/Route104_Prototype.inc +++ b/data/scripts/maps/Route104_Prototype.inc @@ -4,22 +4,15 @@ Route104_Prototype_MapScripts:: @ 8160C4A Route104_Prototype_EventScript_160C4B:: @ 8160C4B lock faceplayer - checktrainerflag OPPONENT_BRIANNA_1 - goto_if 0, Route104_Prototype_EventScript_160C99 - checktrainerflag OPPONENT_CINDY_2 - goto_if 0, Route104_Prototype_EventScript_160C99 - checktrainerflag OPPONENT_AMY_AND_LIV_3 - goto_if 0, Route104_Prototype_EventScript_160C99 - checktrainerflag OPPONENT_GINA_AND_MIA_2 - goto_if 0, Route104_Prototype_EventScript_160C99 - checktrainerflag OPPONENT_LUCAS_2 - goto_if 0, Route104_Prototype_EventScript_160C99 - checktrainerflag OPPONENT_MIKE_1 - goto_if 0, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_BRIANNA_1, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_CINDY_2, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_AMY_AND_LIV_3, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_GINA_AND_MIA_2, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_LUCAS_2, Route104_Prototype_EventScript_160C99 + goto_if_trainer_not_defeated OPPONENT_MIKE_1, Route104_Prototype_EventScript_160C99 setflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_1 msgbox Route104_Prototype_Text_19B267, 4 - checkflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_2 - goto_if_eq Route104_Prototype_EventScript_160CFB + goto_if_set FLAG_ROUTE104_PROTOTYPE_COMPLETED_2, Route104_Prototype_EventScript_160CFB release end @@ -31,22 +24,15 @@ Route104_Prototype_EventScript_160C99:: @ 8160C99 Route104_Prototype_EventScript_160CA3:: @ 8160CA3 lock faceplayer - checktrainerflag OPPONENT_BRIANNA_1 - goto_if 0, Route104_Prototype_EventScript_160CF1 - checktrainerflag OPPONENT_CINDY_2 - goto_if 0, Route104_Prototype_EventScript_160CF1 - checktrainerflag OPPONENT_AMY_AND_LIV_3 - goto_if 0, Route104_Prototype_EventScript_160CF1 - checktrainerflag OPPONENT_GINA_AND_MIA_2 - goto_if 0, Route104_Prototype_EventScript_160CF1 - checktrainerflag OPPONENT_LUCAS_2 - goto_if 0, Route104_Prototype_EventScript_160CF1 - checktrainerflag OPPONENT_MIKE_1 - goto_if 0, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_BRIANNA_1, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_CINDY_2, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_AMY_AND_LIV_3, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_GINA_AND_MIA_2, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_LUCAS_2, Route104_Prototype_EventScript_160CF1 + goto_if_trainer_not_defeated OPPONENT_MIKE_1, Route104_Prototype_EventScript_160CF1 setflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_2 msgbox Route104_Prototype_Text_19B2E9, 4 - checkflag FLAG_ROUTE104_PROTOTYPE_COMPLETED_1 - goto_if_eq Route104_Prototype_EventScript_160CFB + goto_if_set FLAG_ROUTE104_PROTOTYPE_COMPLETED_1, Route104_Prototype_EventScript_160CFB release end diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc index 30157e52f..305a2e9af 100644 --- a/data/scripts/maps/Route105.inc +++ b/data/scripts/maps/Route105.inc @@ -3,8 +3,7 @@ Route105_MapScripts:: @ 814F298 .byte 0 Route105_MapScript1_14F29E:: @ 814F29E - checkflag FLAG_REGI_DOORS_OPENED - call_if 0, Route105_EventScript_14F2A8 + call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_14F2A8 end Route105_EventScript_14F2A8:: @ 814F2A8 diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc index c0344f150..c70365b6a 100644 --- a/data/scripts/maps/Route109.inc +++ b/data/scripts/maps/Route109.inc @@ -271,8 +271,7 @@ Route109_Movement_14F67D:: @ 814F67D Route109_EventScript_14F680:: @ 814F680 lock faceplayer - checkflag FLAG_DELIVERED_DEVON_GOODS - goto_if 0, Route109_EventScript_14F691 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_14F691 goto Route109_EventScript_14F6AF end @@ -328,8 +327,7 @@ Route109_EventScript_14F725:: @ 814F725 lock faceplayer special GetPlayerBigGuyGirlString - checkflag FLAG_RECEIVED_SOFT_SAND - goto_if_eq Route109_EventScript_14F762 + goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_14F762 msgbox Route109_Text_16E433, 4 giveitem_std ITEM_SOFT_SAND compare RESULT, 0 diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc index 4c1574824..13d37e7bd 100644 --- a/data/scripts/maps/Route109_SeashoreHouse.inc +++ b/data/scripts/maps/Route109_SeashoreHouse.inc @@ -9,12 +9,9 @@ Route109_SeashoreHouse_MapScript1_160DD0:: @ 8160DD0 Route109_SeashoreHouse_EventScript_160DD4:: @ 8160DD4 lock faceplayer - checkflag FLAG_RECEIVED_6_SODA_POP - goto_if_eq Route109_SeashoreHouse_EventScript_160E36 - checkflag FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS - goto_if_eq Route109_SeashoreHouse_EventScript_160E08 - checkflag FLAG_TEMP_2 - goto_if_eq Route109_SeashoreHouse_EventScript_160DFE + goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_160E36 + goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS, Route109_SeashoreHouse_EventScript_160E08 + goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_160DFE msgbox Route109_SeashoreHouse_Text_19B4D9, 4 setflag FLAG_TEMP_2 release @@ -94,12 +91,9 @@ Route109_SeashoreHouse_EventScript_160EEE:: @ 8160EEE end Route109_SeashoreHouse_EventScript_160F09:: @ 8160F09 - checktrainerflag OPPONENT_DWAYNE - goto_if 0, Route109_SeashoreHouse_EventScript_160F29 - checktrainerflag OPPONENT_JOHANNA - goto_if 0, Route109_SeashoreHouse_EventScript_160F29 - checktrainerflag OPPONENT_SIMON - goto_if 0, Route109_SeashoreHouse_EventScript_160F29 + goto_if_trainer_not_defeated OPPONENT_DWAYNE, Route109_SeashoreHouse_EventScript_160F29 + goto_if_trainer_not_defeated OPPONENT_JOHANNA, Route109_SeashoreHouse_EventScript_160F29 + goto_if_trainer_not_defeated OPPONENT_SIMON, Route109_SeashoreHouse_EventScript_160F29 setflag FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS release end diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc index d5219582c..070340760 100644 --- a/data/scripts/maps/Route110.inc +++ b/data/scripts/maps/Route110.inc @@ -13,7 +13,7 @@ Route110_MapScript1_14F914:: @ 814F914 call Route110_EventScript_1A014E call Route110_EventScript_1A0172 compare VAR_CYCLING_CHALLENGE_STATE, 1 - call_if 1, Route110_EventScript_14F92F + call_if_eq Route110_EventScript_14F92F end Route110_EventScript_14F92F:: @ 814F92F @@ -327,9 +327,9 @@ Route110_EventScript_14FD34:: @ 814FD34 lockall checkplayergender compare RESULT, 0 - call_if 1, Route110_EventScript_14FDA7 + call_if_eq Route110_EventScript_14FDA7 compare RESULT, 1 - call_if 1, Route110_EventScript_14FDAC + call_if_eq Route110_EventScript_14FDAC applymovement 28, Route110_Movement_1A0845 waitmovement 0 applymovement 28, Route110_Movement_1A0833 @@ -338,11 +338,11 @@ Route110_EventScript_14FD34:: @ 814FD34 waitmovement 0 delay 30 compare VAR_SPECIAL_8, 1 - call_if 1, Route110_EventScript_14FF14 + call_if_eq Route110_EventScript_14FF14 compare VAR_SPECIAL_8, 2 - call_if 1, Route110_EventScript_14FF1F + call_if_eq Route110_EventScript_14FF1F compare VAR_SPECIAL_8, 3 - call_if 1, Route110_EventScript_14FF2A + call_if_eq Route110_EventScript_14FF2A checkplayergender compare RESULT, 0 goto_if_eq Route110_EventScript_14FDB1 @@ -426,22 +426,22 @@ Route110_EventScript_14FEA5:: @ 814FEA5 Route110_EventScript_14FEB2:: @ 814FEB2 closemessage compare VAR_SPECIAL_8, 1 - call_if 1, Route110_EventScript_14FF56 + call_if_eq Route110_EventScript_14FF56 compare VAR_SPECIAL_8, 2 - call_if 1, Route110_EventScript_14FF5E + call_if_eq Route110_EventScript_14FF5E compare VAR_SPECIAL_8, 3 - call_if 1, Route110_EventScript_14FF66 + call_if_eq Route110_EventScript_14FF66 setobjectmovementtype 28, 10 setobjectmovementtype 29, 10 removeobject 28 addobject 29 delay 45 compare VAR_SPECIAL_8, 1 - call_if 1, Route110_EventScript_14FF35 + call_if_eq Route110_EventScript_14FF35 compare VAR_SPECIAL_8, 2 - call_if 1, Route110_EventScript_14FF40 + call_if_eq Route110_EventScript_14FF40 compare VAR_SPECIAL_8, 3 - call_if 1, Route110_EventScript_14FF4B + call_if_eq Route110_EventScript_14FF4B removeobject 29 setvar VAR_ROUTE110_STATE, 1 savebgm 0 diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc index af72dedd0..f05e2caa2 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc @@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 81634C8 Route110_SeasideCyclingRoadNorthEntrance_MapScript1_1634CE:: @ 81634CE compare VAR_CYCLING_CHALLENGE_STATE, 3 - call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 + call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 compare VAR_CYCLING_CHALLENGE_STATE, 2 - call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 + call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 end Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5:: @ 81634E5 @@ -25,7 +25,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7 lockall specialvar RESULT, GetPlayerAvatarBike @ player state? compare RESULT, 2 - call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D + call_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D compare RESULT, 0 goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523 setflag FLAG_SYS_CYCLING_ROAD diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index 68ce0f5a7..020c61258 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 8161936 Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B compare VAR_TEMP_1, 1 - call_if 1, Route110_TrickHouseEnd_EventScript_161994 + call_if_eq Route110_TrickHouseEnd_EventScript_161994 end Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957 @@ -62,7 +62,7 @@ Route110_TrickHouseEnd_EventScript_161A0B:: @ 8161A0B setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_RARE_CANDY compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -75,7 +75,7 @@ Route110_TrickHouseEnd_EventScript_161A47:: @ 8161A47 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_TIMER_BALL compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -88,7 +88,7 @@ Route110_TrickHouseEnd_EventScript_161A83:: @ 8161A83 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_HARD_STONE compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -101,7 +101,7 @@ Route110_TrickHouseEnd_EventScript_161ABF:: @ 8161ABF setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_SMOKE_BALL compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -114,7 +114,7 @@ Route110_TrickHouseEnd_EventScript_161AFB:: @ 8161AFB setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_TM12 compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -127,7 +127,7 @@ Route110_TrickHouseEnd_EventScript_161B37:: @ 8161B37 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_MAGNET compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -140,7 +140,7 @@ Route110_TrickHouseEnd_EventScript_161B73:: @ 8161B73 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 giveitem_std ITEM_PP_MAX compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if_eq Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 closemessage call Route110_TrickHouseEnd_EventScript_161C2E @@ -151,13 +151,13 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF msgbox Route110_TrickHouseEnd_Text_19C5AF, 4 closemessage compare FACING, 1 - call_if 1, Route110_TrickHouseEnd_EventScript_161C74 + call_if_eq Route110_TrickHouseEnd_EventScript_161C74 compare FACING, 2 - call_if 1, Route110_TrickHouseEnd_EventScript_161C7F + call_if_eq Route110_TrickHouseEnd_EventScript_161C7F compare FACING, 3 - call_if 1, Route110_TrickHouseEnd_EventScript_161C8A + call_if_eq Route110_TrickHouseEnd_EventScript_161C8A compare FACING, 4 - call_if 1, Route110_TrickHouseEnd_EventScript_161C95 + call_if_eq Route110_TrickHouseEnd_EventScript_161C95 delay 30 msgbox Route110_TrickHouseEnd_Text_19C602, 4 closemessage @@ -172,7 +172,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF givedecoration_std DECOR_RED_TENT .endc compare RESULT, 0 - call_if 1, Route110_TrickHouseEnd_EventScript_161C61 + call_if_eq Route110_TrickHouseEnd_EventScript_161C61 msgbox Route110_TrickHouseEnd_Text_19C85C, 4 call Route110_TrickHouseEnd_EventScript_161C2E special ResetTrickHouseEndRoomFlag diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index 232d324a4..527f09d27 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -13,11 +13,11 @@ Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B compare VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_16108E compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if_eq Route110_TrickHouseEntrance_EventScript_160FDE switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3 case 0, Route110_TrickHouseEntrance_EventScript_16109A case 1, Route110_TrickHouseEntrance_EventScript_1610A0 @@ -45,56 +45,49 @@ Route110_TrickHouseEntrance_EventScript_160FCE:: @ 8160FCE Route110_TrickHouseEntrance_EventScript_160FDE:: @ 8160FDE setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_16103C + call_if_eq Route110_TrickHouseEntrance_EventScript_16103C compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_161046 + call_if_eq Route110_TrickHouseEntrance_EventScript_161046 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_161050 + call_if_eq Route110_TrickHouseEntrance_EventScript_161050 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 4 - call_if 1, Route110_TrickHouseEntrance_EventScript_16105A + call_if_eq Route110_TrickHouseEntrance_EventScript_16105A compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_161064 + call_if_eq Route110_TrickHouseEntrance_EventScript_161064 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 6 - call_if 1, Route110_TrickHouseEntrance_EventScript_16106E + call_if_eq Route110_TrickHouseEntrance_EventScript_16106E compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 7 - call_if 1, Route110_TrickHouseEntrance_EventScript_161078 + call_if_eq Route110_TrickHouseEntrance_EventScript_161078 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 8 - call_if 1, Route110_TrickHouseEntrance_EventScript_161082 + call_if_eq Route110_TrickHouseEntrance_EventScript_161082 return Route110_TrickHouseEntrance_EventScript_16103C:: @ 816103C - checkflag FLAG_BADGE03_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161046:: @ 8161046 - checkflag FLAG_BADGE04_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161050:: @ 8161050 - checkflag FLAG_BADGE05_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_16105A:: @ 816105A - checkflag FLAG_BADGE06_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161064:: @ 8161064 - checkflag FLAG_BADGE07_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_16106E:: @ 816106E - checkflag FLAG_BADGE08_GET - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161078:: @ 8161078 - checkflag FLAG_SYS_GAME_CLEAR - call_if 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161082:: @ 8161082 @@ -214,7 +207,7 @@ Route110_TrickHouseEntrance_EventScript_1611D7:: @ 81611D7 lockall delay 20 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_161327 + call_if_eq Route110_TrickHouseEntrance_EventScript_161327 msgbox Route110_TrickHouseEntrance_Text_19BD82, 4 closemessage delay 20 @@ -249,21 +242,21 @@ Route110_TrickHouseEntrance_EventScript_16124D:: @ 816124D applymovement 255, Route110_TrickHouseEntrance_Movement_1A0835 waitmovement 0 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612CD + call_if_eq Route110_TrickHouseEntrance_EventScript_1612CD compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612D6 + call_if_eq Route110_TrickHouseEntrance_EventScript_1612D6 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612DF + call_if_eq Route110_TrickHouseEntrance_EventScript_1612DF compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 3 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612E8 + call_if_eq Route110_TrickHouseEntrance_EventScript_1612E8 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 4 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612F1 + call_if_eq Route110_TrickHouseEntrance_EventScript_1612F1 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 5 - call_if 1, Route110_TrickHouseEntrance_EventScript_1612FA + call_if_eq Route110_TrickHouseEntrance_EventScript_1612FA compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 6 - call_if 1, Route110_TrickHouseEntrance_EventScript_161303 + call_if_eq Route110_TrickHouseEntrance_EventScript_161303 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 7 - call_if 1, Route110_TrickHouseEntrance_EventScript_16130C + call_if_eq Route110_TrickHouseEntrance_EventScript_16130C closemessage setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1 warp MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2 @@ -372,7 +365,7 @@ Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -382,7 +375,7 @@ Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -392,7 +385,7 @@ Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426 compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -402,7 +395,7 @@ Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452 compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -412,7 +405,7 @@ Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -422,7 +415,7 @@ Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -432,7 +425,7 @@ Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6 compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -457,7 +450,7 @@ Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518 compare RESULT, 1 goto_if_eq Route110_TrickHouseEntrance_EventScript_161551 compare RESULT, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1A02B8 + call_if_eq Route110_TrickHouseEntrance_EventScript_1A02B8 msgbox Route110_TrickHouseEntrance_Text_19C18D, 4 releaseall end @@ -727,11 +720,11 @@ Route110_TrickHouseEntrance_EventScript_1618B0:: @ 81618B0 msgbox Route110_TrickHouseEntrance_Text_19BA56, 4 releaseall compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 0 - call_if 1, Route110_TrickHouseEntrance_EventScript_1618E1 + call_if_eq Route110_TrickHouseEntrance_EventScript_1618E1 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 1 - call_if 1, Route110_TrickHouseEntrance_EventScript_1618F6 + call_if_eq Route110_TrickHouseEntrance_EventScript_1618F6 compare VAR_TRICK_HOUSE_ROOMS_COMPLETED, 2 - call_if 1, Route110_TrickHouseEntrance_EventScript_16190B + call_if_eq Route110_TrickHouseEntrance_EventScript_16190B setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 1 end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc index b1cb0c9df..cdde15d1a 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 8161D76 Route110_TrickHousePuzzle2_MapScript1_161D81:: @ 8161D81 compare VAR_TEMP_1, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_161E2C + call_if_eq Route110_TrickHousePuzzle2_EventScript_161E2C compare VAR_TEMP_2, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_161E3F + call_if_eq Route110_TrickHousePuzzle2_EventScript_161E3F compare VAR_TEMP_3, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_161E52 + call_if_eq Route110_TrickHousePuzzle2_EventScript_161E52 compare VAR_TEMP_4, 1 - call_if 1, Route110_TrickHousePuzzle2_EventScript_161E65 + call_if_eq Route110_TrickHousePuzzle2_EventScript_161E65 end Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc index 8d5392ae8..14a021e8d 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 8161EBD Route110_TrickHousePuzzle3_MapScript1_161EC8:: @ 8161EC8 call Route110_TrickHousePuzzle3_EventScript_161F12 compare VAR_TEMP_9, 0 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FE5 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8 + call_if_eq Route110_TrickHousePuzzle3_EventScript_1622C8 end Route110_TrickHousePuzzle3_MapScript1_161EE4:: @ 8161EE4 @@ -32,19 +32,19 @@ Route110_TrickHousePuzzle3_EventScript_161F12:: @ 8161F12 setmetatile 1, 3, 600, 0 setmetatile 10, 2, 600, 0 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161F9F + call_if_eq Route110_TrickHousePuzzle3_EventScript_161F9F compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FA9 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FA9 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FB3 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FB3 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FBD + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FBD compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FC7 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FC7 compare VAR_TEMP_8, 6 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FD1 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FD1 compare VAR_TEMP_8, 7 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FDB + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FDB return Route110_TrickHousePuzzle3_EventScript_161F9F:: @ 8161F9F @@ -303,19 +303,19 @@ Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612 setvar VAR_TEMP_6, 0 setvar VAR_TEMP_7, 0 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_162683 + call_if_eq Route110_TrickHousePuzzle3_EventScript_162683 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle3_EventScript_162689 + call_if_eq Route110_TrickHousePuzzle3_EventScript_162689 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle3_EventScript_16268F + call_if_eq Route110_TrickHousePuzzle3_EventScript_16268F compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle3_EventScript_162695 + call_if_eq Route110_TrickHousePuzzle3_EventScript_162695 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle3_EventScript_16269B + call_if_eq Route110_TrickHousePuzzle3_EventScript_16269B compare VAR_TEMP_8, 6 - call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A1 + call_if_eq Route110_TrickHousePuzzle3_EventScript_1626A1 compare VAR_TEMP_8, 7 - call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A7 + call_if_eq Route110_TrickHousePuzzle3_EventScript_1626A7 return Route110_TrickHousePuzzle3_EventScript_162683:: @ 8162683 @@ -348,9 +348,9 @@ Route110_TrickHousePuzzle3_EventScript_1626A7:: @ 81626A7 Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5 + call_if_eq Route110_TrickHousePuzzle3_EventScript_161FE5 compare VAR_TEMP_9, 0 - call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8 + call_if_eq Route110_TrickHousePuzzle3_EventScript_1622C8 special DrawWholeMapView compare VAR_TEMP_9, 1 goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626DD diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc index 1bcdb8087..5ec1a4d64 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc @@ -166,11 +166,11 @@ Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0835 waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D423, 4 random 3 switch RESULT @@ -188,11 +188,11 @@ Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3 applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0835 waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E9B compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162ED3 compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F0B msgbox Route110_TrickHousePuzzle5_Text_19D636, 4 random 3 switch RESULT @@ -210,11 +210,11 @@ Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27 applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0835 waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D7D3, 4 random 3 switch RESULT @@ -232,11 +232,11 @@ Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0835 waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162DF3 compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E2B compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D93D, 4 random 3 switch RESULT @@ -254,11 +254,11 @@ Route110_TrickHousePuzzle5_EventScript_162B0F:: @ 8162B0F applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0835 waitmovement 0 compare VAR_TEMP_9, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162E9B compare VAR_TEMP_9, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162ED3 compare VAR_TEMP_9, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F0B msgbox Route110_TrickHousePuzzle5_Text_19DA9A, 4 random 3 switch RESULT @@ -419,80 +419,80 @@ Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9 Route110_TrickHousePuzzle5_EventScript_162DF3:: @ 8162DF3 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F43 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F43 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F4E + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F4E compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F59 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F59 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F64 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F64 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F6F + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F6F return Route110_TrickHousePuzzle5_EventScript_162E2B:: @ 8162E2B compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F7A + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F7A compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F85 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F85 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F90 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F90 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162F9B + call_if_eq Route110_TrickHousePuzzle5_EventScript_162F9B compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FA6 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FA6 return Route110_TrickHousePuzzle5_EventScript_162E63:: @ 8162E63 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FB1 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FB1 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FBC + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FBC compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FC7 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FC7 compare VAR_TEMP_9, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FD2 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FD2 compare VAR_TEMP_9, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FDD + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FDD return Route110_TrickHousePuzzle5_EventScript_162E9B:: @ 8162E9B compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FE8 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FE8 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FF3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FF3 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_162FFE + call_if_eq Route110_TrickHousePuzzle5_EventScript_162FFE compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163009 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163009 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163014 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163014 return Route110_TrickHousePuzzle5_EventScript_162ED3:: @ 8162ED3 compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_16301F + call_if_eq Route110_TrickHousePuzzle5_EventScript_16301F compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_16302A + call_if_eq Route110_TrickHousePuzzle5_EventScript_16302A compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163035 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163035 compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163040 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163040 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_16304B + call_if_eq Route110_TrickHousePuzzle5_EventScript_16304B return Route110_TrickHousePuzzle5_EventScript_162F0B:: @ 8162F0B compare VAR_TEMP_8, 1 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163056 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163056 compare VAR_TEMP_8, 2 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163061 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163061 compare VAR_TEMP_8, 3 - call_if 1, Route110_TrickHousePuzzle5_EventScript_16306C + call_if_eq Route110_TrickHousePuzzle5_EventScript_16306C compare VAR_TEMP_8, 4 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163077 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163077 compare VAR_TEMP_8, 5 - call_if 1, Route110_TrickHousePuzzle5_EventScript_163082 + call_if_eq Route110_TrickHousePuzzle5_EventScript_163082 return Route110_TrickHousePuzzle5_EventScript_162F43:: @ 8162F43 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc index d1de7682f..1ee608166 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc @@ -10,16 +10,11 @@ Route110_TrickHousePuzzle7_MapScript1_163161:: @ 8163161 end Route110_TrickHousePuzzle7_EventScript_163167:: @ 8163167 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 - call_if 1, Route110_TrickHousePuzzle7_EventScript_163195 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 - call_if 1, Route110_TrickHousePuzzle7_EventScript_1631A8 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 - call_if 1, Route110_TrickHousePuzzle7_EventScript_1631BB - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 - call_if 1, Route110_TrickHousePuzzle7_EventScript_1631CE - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 - call_if 1, Route110_TrickHousePuzzle7_EventScript_1631E1 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_163195 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1631A8 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1631BB + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1631CE + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1631E1 return Route110_TrickHousePuzzle7_EventScript_163195:: @ 8163195 @@ -87,7 +82,7 @@ Route110_TrickHousePuzzle7_EventScript_16326E:: @ 816326E Route110_TrickHousePuzzle7_MapScript1_16326F:: @ 816326F compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1 - call_if 1, Route110_TrickHousePuzzle7_EventScript_163167 + call_if_eq Route110_TrickHousePuzzle7_EventScript_163167 end Route110_TrickHousePuzzle7_MapScript2_16327B:: @ 816327B @@ -121,76 +116,56 @@ Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8 Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9 lockall delay 32 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 - call_if 0, Route110_TrickHousePuzzle7_EventScript_163195 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 - call_if 1, Route110_TrickHousePuzzle7_EventScript_1631F4 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_163195 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1631F4 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633A4 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633A9 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1633A4 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_1633A9 end Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8 lockall delay 32 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 - call_if 0, Route110_TrickHousePuzzle7_EventScript_1631A8 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 - call_if 1, Route110_TrickHousePuzzle7_EventScript_163207 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1631A8 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_163207 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633AE - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633B3 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1633AE + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_1633B3 end Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317 lockall delay 32 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 - call_if 0, Route110_TrickHousePuzzle7_EventScript_1631BB - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 - call_if 1, Route110_TrickHousePuzzle7_EventScript_16321A + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1631BB + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_16321A special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633B8 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633BD + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1633B8 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_1633BD end Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346 lockall delay 32 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 - call_if 0, Route110_TrickHousePuzzle7_EventScript_1631CE - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 - call_if 1, Route110_TrickHousePuzzle7_EventScript_16322D + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1631CE + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_16322D special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633C2 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633C7 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1633C2 + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_1633C7 end Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375 lockall delay 32 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 - call_if 0, Route110_TrickHousePuzzle7_EventScript_1631E1 - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 - call_if 1, Route110_TrickHousePuzzle7_EventScript_163240 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1631E1 + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_163240 special DrawWholeMapView playse SE_TK_KASYA - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 - goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633CC - checkflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633D1 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1633CC + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_1633D1 end Route110_TrickHousePuzzle7_EventScript_1633A4:: @ 81633A4 diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index c338091a0..99fa29efb 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -4,8 +4,7 @@ Route111_MapScripts:: @ 814FF91 .byte 0 Route111_MapScript1_14FF9C:: @ 814FF9C - checkflag FLAG_REGI_DOORS_OPENED - call_if 0, Route111_EventScript_14FFA6 + call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_14FFA6 end Route111_EventScript_14FFA6:: @ 814FFA6 @@ -16,22 +15,21 @@ Route111_EventScript_14FFA6:: @ 814FFA6 Route111_MapScript1_14FFB9:: @ 814FFB9 call Route111_EventScript_14FFCD call Route111_EventScript_1AE313 - checktrainerflag OPPONENT_VICKY - goto_if 0, Route111_EventScript_15000D + goto_if_trainer_not_defeated OPPONENT_VICKY, Route111_EventScript_15000D end Route111_EventScript_14FFCD:: @ 814FFCD getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 34 - goto_if 0, Route111_EventScript_15000C + goto_if_lt Route111_EventScript_15000C compare VAR_TEMP_1, 107 - goto_if 2, Route111_EventScript_15000C + goto_if_gt Route111_EventScript_15000C compare VAR_TEMP_1, 72 - goto_if 2, Route111_EventScript_150009 + goto_if_gt Route111_EventScript_150009 compare VAR_TEMP_0, 2000 - goto_if 2, Route111_EventScript_15000C + goto_if_gt Route111_EventScript_15000C compare VAR_TEMP_0, 8 - goto_if 0, Route111_EventScript_15000C + goto_if_lt Route111_EventScript_15000C Route111_EventScript_150009:: @ 8150009 setweather WEATHER_SANDSTORM @@ -121,8 +119,7 @@ Route111_EventScript_1500C5:: @ 81500C5 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE111 - goto_if_eq Route111_EventScript_150100 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE111, Route111_EventScript_150100 msgbox Route111_Text_1C56F0, 4 giveitem_std ITEM_RAZZ_BERRY compare RESULT, 0 @@ -174,13 +171,13 @@ Route111_EventScript_150151:: @ 8150151 msgbox Route111_Text_1A0F93, 4 closemessage compare VAR_SPECIAL_4, 0 - call_if 1, Route111_EventScript_150188 + call_if_eq Route111_EventScript_150188 compare VAR_SPECIAL_4, 1 - call_if 1, Route111_EventScript_150193 + call_if_eq Route111_EventScript_150193 compare VAR_SPECIAL_4, 2 - call_if 1, Route111_EventScript_15019E + call_if_eq Route111_EventScript_15019E compare VAR_SPECIAL_4, 3 - call_if 1, Route111_EventScript_1501A9 + call_if_eq Route111_EventScript_1501A9 releaseall end diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc index 8352db786..020b51791 100644 --- a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc +++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc @@ -13,8 +13,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A lock faceplayer setvar VAR_SPECIAL_8, 3 - checkflag FLAG_RECEIVED_MACHO_BRACE - goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BF72 + goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_15BF72 msgbox Route111_WinstrateFamilysHouse_Text_19208A, 4 giveitem_std ITEM_MACHO_BRACE compare RESULT, 0 @@ -40,8 +39,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95 lock faceplayer setvar VAR_SPECIAL_8, 4 - checkflag FLAG_TEMP_4 - goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BFB6 + goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_15BFB6 msgbox Route111_WinstrateFamilysHouse_Text_192219, 4 setflag FLAG_TEMP_4 goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc index adbea780e..570075078 100644 --- a/data/scripts/maps/Route112_CableCarStation.inc +++ b/data/scripts/maps/Route112_CableCarStation.inc @@ -6,7 +6,7 @@ Route112_CableCarStation_MapScripts:: @ 815C033 Route112_CableCarStation_MapScript1_15C03E:: @ 815C03E setescapewarp MAP_ROUTE112, 255, 28, 28 compare VAR_CABLE_CAR_STATION_STATE, 2 - call_if 1, Route112_CableCarStation_EventScript_15C052 + call_if_eq Route112_CableCarStation_EventScript_15C052 end Route112_CableCarStation_EventScript_15C052:: @ 815C052 @@ -49,7 +49,7 @@ Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD setvar VAR_CABLE_CAR_STATION_STATE, 1 incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp - special sub_8123218 + special CableCar waitstate release end diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc index a1593ba1e..41b289db0 100644 --- a/data/scripts/maps/Route113.inc +++ b/data/scripts/maps/Route113.inc @@ -15,9 +15,9 @@ Route113_MapScript1_1505DA:: @ 81505DA Route113_EventScript_1505E5:: @ 81505E5 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 19 - goto_if 0, Route113_EventScript_150604 + goto_if_lt Route113_EventScript_150604 compare VAR_TEMP_0, 84 - goto_if 2, Route113_EventScript_150604 + goto_if_gt Route113_EventScript_150604 setweather WEATHER_ASH return diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index 3f991277f..e42a6f89a 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 816354A Route113_GlassWorkshop_MapScript1_163550:: @ 8163550 setflag FLAG_LANDMARK_GLASS_WORKSHOP compare VAR_GLASS_WORKSHOP_STATE, 1 - call_if 1, Route113_GlassWorkshop_EventScript_16355F + call_if_eq Route113_GlassWorkshop_EventScript_16355F end Route113_GlassWorkshop_EventScript_16355F:: @ 816355F @@ -16,7 +16,7 @@ Route113_GlassWorkshop_EventScript_163565:: @ 8163565 lock faceplayer compare VAR_GLASS_WORKSHOP_STATE, 10 - goto_if 4, Route113_GlassWorkshop_EventScript_1638D2 + goto_if_ge Route113_GlassWorkshop_EventScript_1638D2 compare VAR_GLASS_WORKSHOP_STATE, 2 goto_if_eq Route113_GlassWorkshop_EventScript_1635B5 compare VAR_GLASS_WORKSHOP_STATE, 1 @@ -39,7 +39,7 @@ Route113_GlassWorkshop_EventScript_1635B5:: @ 81635B5 goto_if_eq Route113_GlassWorkshop_EventScript_1635E4 msgbox Route113_GlassWorkshop_Text_19E65B, 4 compare VAR_ASH_GATHER_COUNT, 250 - goto_if 0, Route113_GlassWorkshop_EventScript_163818 + goto_if_lt Route113_GlassWorkshop_EventScript_163818 message Route113_GlassWorkshop_Text_19E757 waitmessage goto Route113_GlassWorkshop_EventScript_1635EE @@ -71,7 +71,7 @@ Route113_GlassWorkshop_EventScript_163660:: @ 8163660 bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 250 compare VAR_ASH_GATHER_COUNT, 250 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -85,7 +85,7 @@ Route113_GlassWorkshop_EventScript_16369C:: @ 816369C bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -99,7 +99,7 @@ Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8 bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 500 compare VAR_ASH_GATHER_COUNT, 500 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -113,7 +113,7 @@ Route113_GlassWorkshop_EventScript_163714:: @ 8163714 bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -127,7 +127,7 @@ Route113_GlassWorkshop_EventScript_163750:: @ 8163750 bufferitemname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -142,7 +142,7 @@ Route113_GlassWorkshop_EventScript_16378C:: @ 816378C bufferdecorationname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 6000 compare VAR_ASH_GATHER_COUNT, 6000 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -157,7 +157,7 @@ Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD bufferdecorationname 0, VAR_SPECIAL_8 setvar VAR_SPECIAL_A, 8000 compare VAR_ASH_GATHER_COUNT, 8000 - goto_if 0, Route113_GlassWorkshop_EventScript_163830 + goto_if_lt Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route113_GlassWorkshop_EventScript_163845 @@ -202,9 +202,9 @@ Route113_GlassWorkshop_EventScript_163851:: @ 8163851 fadescreen 0 msgbox Route113_GlassWorkshop_Text_19E9D7, 4 compare VAR_SPECIAL_9, 0 - call_if 1, Route113_GlassWorkshop_EventScript_163889 + call_if_eq Route113_GlassWorkshop_EventScript_163889 compare VAR_SPECIAL_9, 1 - call_if 1, Route113_GlassWorkshop_EventScript_1638A1 + call_if_eq Route113_GlassWorkshop_EventScript_1638A1 setvar VAR_GLASS_WORKSHOP_STATE, 2 release end @@ -296,9 +296,9 @@ Route113_GlassWorkshop_EventScript_16399D:: @ 816399D Route113_GlassWorkshop_EventScript_1639B1:: @ 81639B1 msgbox Route113_GlassWorkshop_Text_19E9D7, 4 compare VAR_SPECIAL_9, 0 - call_if 1, Route113_GlassWorkshop_EventScript_163889 + call_if_eq Route113_GlassWorkshop_EventScript_163889 compare VAR_SPECIAL_9, 1 - call_if 1, Route113_GlassWorkshop_EventScript_1638A1 + call_if_eq Route113_GlassWorkshop_EventScript_1638A1 setvar VAR_GLASS_WORKSHOP_STATE, 2 release end diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc index f6bb6d8ba..30ab8c572 100644 --- a/data/scripts/maps/Route114.inc +++ b/data/scripts/maps/Route114.inc @@ -5,8 +5,7 @@ Route114_EventScript_150733:: @ 8150733 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE114 - goto_if_eq Route114_EventScript_150778 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE114, Route114_EventScript_150778 msgbox Route114_Text_1C5803, 4 random 5 addvar RESULT, 15 @@ -27,8 +26,7 @@ Route114_EventScript_150778:: @ 8150778 Route114_EventScript_150782:: @ 8150782 lock faceplayer - checkflag FLAG_RECEIVED_TM05 - goto_if_eq Route114_EventScript_1507B9 + goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_1507B9 msgbox Route114_Text_170154, 4 giveitem_std ITEM_TM05 compare RESULT, 0 diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc index 1a1445fde..b191db5f6 100644 --- a/data/scripts/maps/Route114_FossilManiacsHouse.inc +++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc @@ -9,8 +9,7 @@ Route114_FossilManiacsHouse_MapScript1_15C1BF:: @ 815C1BF Route114_FossilManiacsHouse_EventScript_15C1C3:: @ 815C1C3 lock faceplayer - checkflag FLAG_RECEIVED_TM28 - goto_if_eq Route114_FossilManiacsHouse_EventScript_15C1F2 + goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_15C1F2 msgbox Route114_FossilManiacsHouse_Text_1925E1, 4 giveitem_std ITEM_TM28 compare RESULT, 0 diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc index 2ce9c1bfa..740a48314 100644 --- a/data/scripts/maps/Route114_FossilManiacsTunnel.inc +++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc @@ -4,8 +4,7 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 815C20E Route114_FossilManiacsTunnel_EventScript_15C20F:: @ 815C20F lock faceplayer - checkflag FLAG_RECEIVED_FOSSIL_MON - goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C24E + goto_if_set FLAG_RECEIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_15C24E checkitem ITEM_ROOT_FOSSIL, 1 compare RESULT, 1 goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244 diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc index c34d4fc7e..30eb844ac 100644 --- a/data/scripts/maps/Route114_LanettesHouse.inc +++ b/data/scripts/maps/Route114_LanettesHouse.inc @@ -9,8 +9,7 @@ Route114_LanettesHouse_MapScript1_15C25E:: @ 815C25E Route114_LanettesHouse_EventScript_15C262:: @ 815C262 lock faceplayer - checkflag FLAG_RECEIVED_DOLL_LANETTE - goto_if_eq Route114_LanettesHouse_EventScript_15C28F + goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_15C28F setflag FLAG_SYS_PC_LANETTE msgbox Route114_LanettesHouse_Text_192A0D, 4 .ifdef SAPPHIRE @@ -41,7 +40,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299 Route114_LanettesHouse_EventScript_15C2B7:: @ 815C2B7 msgbox Route114_LanettesHouse_Text_192C01, MSGBOX_YESNO compare RESULT, YES - call_if 1, Route114_LanettesHouse_EventScript_15C2CC + call_if_eq Route114_LanettesHouse_EventScript_15C2CC releaseall end diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc index 4e08705cf..eea14e25d 100644 --- a/data/scripts/maps/Route116.inc +++ b/data/scripts/maps/Route116.inc @@ -3,8 +3,7 @@ Route116_MapScripts:: @ 8150A31 .byte 0 Route116_MapScript1_150A37:: @ 8150A37 - checkflag FLAG_RECOVERED_DEVON_GOODS - call_if 1, Route116_EventScript_150A41 + call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_150A41 end Route116_EventScript_150A41:: @ 8150A41 @@ -14,10 +13,8 @@ Route116_EventScript_150A41:: @ 8150A41 Route116_EventScript_150A49:: @ 8150A49 lock faceplayer - checkflag FLAG_RECOVERED_DEVON_GOODS - goto_if_eq Route116_EventScript_150A67 - checkflag FLAG_DEVON_GOODS_STOLEN - goto_if_eq Route116_EventScript_150A71 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_150A67 + goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_150A71 msgbox Route116_Text_1703CF, 4 release end @@ -35,8 +32,7 @@ Route116_EventScript_150A71:: @ 8150A71 Route116_EventScript_150A7B:: @ 8150A7B lock faceplayer - checkflag FLAG_MET_DEVON_EMPLOYEE - goto_if_eq Route116_EventScript_150B04 + goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_150B04 msgbox Route116_Text_1705AE, 4 goto Route116_EventScript_150A94 end @@ -49,13 +45,13 @@ Route116_EventScript_150A94:: @ 8150A94 msgbox Route116_Text_1707B8, 4 closemessage compare FACING, 2 - call_if 1, Route116_EventScript_150AEE + call_if_eq Route116_EventScript_150AEE compare FACING, 1 - call_if 1, Route116_EventScript_150AEE + call_if_eq Route116_EventScript_150AEE compare FACING, 3 - call_if 1, Route116_EventScript_150AEE + call_if_eq Route116_EventScript_150AEE compare FACING, 4 - call_if 1, Route116_EventScript_150AF9 + call_if_eq Route116_EventScript_150AF9 removeobject LAST_TALKED clearflag FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F setflag FLAG_RECEIVED_REPEAT_BALL @@ -182,13 +178,13 @@ Route116_EventScript_150BF4:: @ 8150BF4 Route116_EventScript_150C03:: @ 8150C03 delay 20 compare FACING, 2 - call_if 1, Route116_EventScript_150C37 + call_if_eq Route116_EventScript_150C37 compare FACING, 1 - call_if 1, Route116_EventScript_150C37 + call_if_eq Route116_EventScript_150C37 compare FACING, 3 - call_if 1, Route116_EventScript_150C37 + call_if_eq Route116_EventScript_150C37 compare FACING, 4 - call_if 1, Route116_EventScript_150C42 + call_if_eq Route116_EventScript_150C42 removeobject LAST_TALKED release end diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc index 24091c4ac..5ec6ef642 100644 --- a/data/scripts/maps/Route116_TunnelersRestHouse.inc +++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc @@ -17,8 +17,7 @@ Route116_TunnelersRestHouse_EventScript_15C2F1:: @ 815C2F1 Route116_TunnelersRestHouse_EventScript_15C2FA:: @ 815C2FA lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_if_eq Route116_TunnelersRestHouse_EventScript_15C30F + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_15C30F msgbox Route116_TunnelersRestHouse_Text_193135, 4 release end diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc index fa648f79e..9f42412ab 100644 --- a/data/scripts/maps/Route117.inc +++ b/data/scripts/maps/Route117.inc @@ -7,8 +7,7 @@ Route117_MapScript1_150D40:: @ 8150D40 end Route117_EventScript_150D46:: @ 8150D46 - checkflag FLAG_PENDING_DAYCARE_EGG - goto_if 0, Route117_EventScript_150D56 + goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_150D56 setobjectxyperm 3, 47, 6 Route117_EventScript_150D56:: @ 8150D56 diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc index a4452d989..569a7103e 100644 --- a/data/scripts/maps/Route118.inc +++ b/data/scripts/maps/Route118.inc @@ -9,8 +9,7 @@ Route118_MapScript1_150F2E:: @ 8150F2E Route118_EventScript_150F34:: @ 8150F34 lock faceplayer - checkflag FLAG_RECEIVED_GOOD_ROD - goto_if_eq Route118_EventScript_150F89 + goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_150F89 msgbox Route118_Text_170F12, MSGBOX_YESNO compare RESULT, YES goto_if_eq Route118_EventScript_150F5E @@ -84,11 +83,11 @@ Route118_EventScript_151004:: @ 8151004 msgbox Route118_Text_170D66, 4 closemessage compare VAR_SPECIAL_8, 0 - call_if 1, Route118_EventScript_151048 + call_if_eq Route118_EventScript_151048 compare VAR_SPECIAL_8, 1 - call_if 1, Route118_EventScript_151053 + call_if_eq Route118_EventScript_151053 compare VAR_SPECIAL_8, 2 - call_if 1, Route118_EventScript_15105E + call_if_eq Route118_EventScript_15105E setvar VAR_ROUTE118_STATE, 1 removeobject 19 releaseall diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc index 8d9f88474..4b9f3ce5f 100644 --- a/data/scripts/maps/Route119.inc +++ b/data/scripts/maps/Route119.inc @@ -4,15 +4,14 @@ Route119_MapScripts:: @ 8151167 .byte 0 Route119_MapScript1_151172:: @ 8151172 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, Route119_EventScript_15117C + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_15117C end Route119_EventScript_15117C:: @ 815117C compare VAR_SPECIAL_4, 6 - call_if 1, Route119_EventScript_151193 + call_if_eq Route119_EventScript_151193 compare VAR_SPECIAL_4, 7 - call_if 1, Route119_EventScript_151197 + call_if_eq Route119_EventScript_151197 return Route119_EventScript_151193:: @ 8151193 @@ -28,7 +27,7 @@ Route119_MapScript1_15119B:: @ 815119B call Route119_EventScript_1A0172 call Route119_EventScript_1A0196 compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if 1, Route119_EventScript_1511B9 + call_if_eq Route119_EventScript_1511B9 special SetRoute119Weather end @@ -53,21 +52,21 @@ Route119_EventScript_1511DB:: @ 81511DB addobject 25 checkplayergender compare RESULT, 0 - call_if 1, Route119_EventScript_151254 + call_if_eq Route119_EventScript_151254 compare RESULT, 1 - call_if 1, Route119_EventScript_151259 + call_if_eq Route119_EventScript_151259 delay 65 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1513A6 + call_if_eq Route119_EventScript_1513A6 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1513B1 + call_if_eq Route119_EventScript_1513B1 applymovement 255, Route119_Movement_1A0845 waitmovement 0 delay 30 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1513D2 + call_if_eq Route119_EventScript_1513D2 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1513E1 + call_if_eq Route119_EventScript_1513E1 removeobject 25 addobject 16 delay 30 @@ -155,16 +154,16 @@ Route119_EventScript_151352:: @ 8151352 Route119_EventScript_151362:: @ 8151362 closemessage compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1513D2 + call_if_eq Route119_EventScript_1513D2 compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1513E1 + call_if_eq Route119_EventScript_1513E1 removeobject 16 addobject 25 delay 30 compare VAR_TEMP_1, 1 - call_if 1, Route119_EventScript_1513BC + call_if_eq Route119_EventScript_1513BC compare VAR_TEMP_1, 2 - call_if 1, Route119_EventScript_1513C7 + call_if_eq Route119_EventScript_1513C7 removeobject 25 setvar VAR_ROUTE119_STATE, 1 savebgm 0 diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc index 8a5c1033f..e5ca6550b 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc @@ -5,7 +5,7 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 8163C2A Route119_WeatherInstitute_1F_MapScript1_163C30:: @ 8163C30 call Route119_WeatherInstitute_1F_EventScript_1A0196 compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if 1, Route119_WeatherInstitute_1F_EventScript_163C41 + call_if_eq Route119_WeatherInstitute_1F_EventScript_163C41 end Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41 diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc index b36500345..81037941f 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc @@ -5,9 +5,9 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 8163CC2 Route119_WeatherInstitute_2F_MapScript1_163CC8:: @ 8163CC8 call Route119_WeatherInstitute_2F_EventScript_1A0196 compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if 1, Route119_WeatherInstitute_2F_EventScript_163CE4 + call_if_eq Route119_WeatherInstitute_2F_EventScript_163CE4 compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if 1, Route119_WeatherInstitute_2F_EventScript_163CF0 + call_if_eq Route119_WeatherInstitute_2F_EventScript_163CF0 end Route119_WeatherInstitute_2F_EventScript_163CE4:: @ 8163CE4 @@ -87,7 +87,6 @@ Route119_WeatherInstitute_2F_Movement_163DC8:: @ 8163DC8 Route119_WeatherInstitute_2F_EventScript_163DCC:: @ 8163DCC lock faceplayer - checkflag FLAG_RECEIVED_CASTFORM - goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DBE + goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_163DBE goto Route119_WeatherInstitute_2F_EventScript_163D7A end diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index bacdcd7dd..b49834564 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -5,23 +5,22 @@ Route120_MapScripts:: @ 815160E .byte 0 Route120_MapScript1_15161E:: @ 815161E - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, Route120_EventScript_151628 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_151628 end Route120_EventScript_151628:: @ 8151628 compare VAR_SPECIAL_4, 0 - call_if 1, Route120_EventScript_15166B + call_if_eq Route120_EventScript_15166B compare VAR_SPECIAL_4, 1 - call_if 1, Route120_EventScript_151672 + call_if_eq Route120_EventScript_151672 compare VAR_SPECIAL_4, 2 - call_if 1, Route120_EventScript_151676 + call_if_eq Route120_EventScript_151676 compare VAR_SPECIAL_4, 3 - call_if 1, Route120_EventScript_15167A + call_if_eq Route120_EventScript_15167A compare VAR_SPECIAL_4, 4 - call_if 1, Route120_EventScript_15167E + call_if_eq Route120_EventScript_15167E compare VAR_SPECIAL_4, 5 - call_if 1, Route120_EventScript_151682 + call_if_eq Route120_EventScript_151682 return Route120_EventScript_15166B:: @ 815166B @@ -50,12 +49,9 @@ Route120_EventScript_151682:: @ 8151682 return Route120_MapScript1_151686:: @ 8151686 - checkflag FLAG_REGI_DOORS_OPENED - call_if 0, Route120_EventScript_1516A2 - checkflag FLAG_RECEIVED_DEVON_SCOPE - call_if 1, Route120_EventScript_1516B5 - checkflag FLAG_RECEIVED_DEVON_SCOPE - call_if 0, Route120_EventScript_1516DA + call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1516A2 + call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1516B5 + call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1516DA end Route120_EventScript_1516A2:: @ 81516A2 @@ -82,11 +78,11 @@ Route120_MapScript1_1516DF:: @ 81516DF Route120_EventScript_1516EA:: @ 81516EA getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 14 - goto_if 3, Route120_EventScript_151715 + goto_if_le Route120_EventScript_151715 compare VAR_TEMP_1, 60 - goto_if 3, Route120_EventScript_151719 + goto_if_le Route120_EventScript_151719 compare VAR_TEMP_1, 61 - goto_if 4, Route120_EventScript_151711 + goto_if_ge Route120_EventScript_151711 return Route120_EventScript_151711:: @ 8151711 @@ -99,9 +95,9 @@ Route120_EventScript_151715:: @ 8151715 Route120_EventScript_151719:: @ 8151719 compare VAR_TEMP_0, 7 - goto_if 3, Route120_EventScript_151735 + goto_if_le Route120_EventScript_151735 compare VAR_TEMP_0, 19 - goto_if 3, Route120_EventScript_151715 + goto_if_le Route120_EventScript_151715 goto Route120_EventScript_151735 end @@ -113,13 +109,12 @@ Route120_EventScript_151739:: @ 8151739 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_ROUTE120 - goto_if_eq Route120_EventScript_151837 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_ROUTE120, Route120_EventScript_151837 msgbox Route120_Text_1C58F1, MSGBOX_YESNO compare RESULT, YES - call_if 1, Route120_EventScript_151841 + call_if_eq Route120_EventScript_151841 compare RESULT, NO - call_if 1, Route120_EventScript_15184A + call_if_eq Route120_EventScript_15184A specialvar RESULT, GetPlayerTrainerIdOnesDigit switch RESULT case 0, Route120_EventScript_1517DC @@ -184,8 +179,7 @@ Route120_EventScript_15184A:: @ 815184A Route120_EventScript_151853:: @ 8151853 lock faceplayer - checkflag FLAG_NOT_READY_FOR_BATTLE_ROUTE120 - goto_if_eq Route120_EventScript_151884 + goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE120, Route120_EventScript_151884 msgbox Route120_Text_171827, MSGBOX_YESNO compare RESULT, NO goto_if_eq Route120_EventScript_151877 @@ -209,9 +203,9 @@ Route120_EventScript_15189D:: @ 815189D msgbox Route120_Text_1719A0, 4 closemessage compare FACING, 2 - call_if 1, Route120_EventScript_15197F + call_if_eq Route120_EventScript_15197F compare FACING, 3 - call_if 1, Route120_EventScript_15198A + call_if_eq Route120_EventScript_15198A applymovement 31, Route120_Movement_1A083F waitmovement 0 delay 20 diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc index ded372aa6..2648e19ce 100644 --- a/data/scripts/maps/Route121_SafariZoneEntrance.inc +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -89,7 +89,7 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3 Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425 getpartysize compare RESULT, 6 - goto_if 5, Route121_SafariZoneEntrance_EventScript_15C44F + goto_if_ne Route121_SafariZoneEntrance_EventScript_15C44F specialvar RESULT, CheckFreePokemonStorageSpace compare RESULT, 1 goto_if_eq Route121_SafariZoneEntrance_EventScript_15C44F diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc index a25c306cc..5f77ea023 100644 --- a/data/scripts/maps/Route123.inc +++ b/data/scripts/maps/Route123.inc @@ -9,8 +9,7 @@ Route123_MapScript1_151C59:: @ 8151C59 Route123_EventScript_151C5D:: @ 8151C5D lock faceplayer - checkflag FLAG_RECEIVED_TM19 - goto_if_eq Route123_EventScript_151CAC + goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_151CAC msgbox Route123_Text_171D83, 4 special IsGrassTypeInParty compare RESULT, 0 diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc index 26edb6fbb..3356df83b 100644 --- a/data/scripts/maps/Route123_BerryMastersHouse.inc +++ b/data/scripts/maps/Route123_BerryMastersHouse.inc @@ -10,8 +10,7 @@ Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER - goto_if_eq Route123_BerryMastersHouse_EventScript_163A5A + goto_if_set FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER, Route123_BerryMastersHouse_EventScript_163A5A msgbox Route123_BerryMastersHouse_Text_1C5BC4, 4 random 10 addvar RESULT, 20 @@ -40,8 +39,7 @@ Route123_BerryMastersHouse_EventScript_163A64:: @ 8163A64 lock faceplayer dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE - goto_if_eq Route123_BerryMastersHouse_EventScript_163C13 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE, Route123_BerryMastersHouse_EventScript_163C13 msgbox Route123_BerryMastersHouse_Text_1C5D24, 4 setvar VAR_SPECIAL_4, 13 call Route123_BerryMastersHouse_EventScript_1A00F3 @@ -86,8 +84,7 @@ Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0 end Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E - checkflag FLAG_RECEIVED_SPELON_BERRY - goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem_std ITEM_SPELON_BERRY compare RESULT, 0 @@ -97,8 +94,7 @@ Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E end Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F - checkflag FLAG_RECEIVED_PAMTRE_BERRY - goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem_std ITEM_PAMTRE_BERRY compare RESULT, 0 @@ -108,8 +104,7 @@ Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F end Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80 - checkflag FLAG_RECEIVED_WATMEL_BERRY - goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem_std ITEM_WATMEL_BERRY compare RESULT, 0 @@ -119,8 +114,7 @@ Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80 end Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1 - checkflag FLAG_RECEIVED_DURIN_BERRY - goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem_std ITEM_DURIN_BERRY compare RESULT, 0 @@ -130,8 +124,7 @@ Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1 end Route123_BerryMastersHouse_EventScript_163BE2:: @ 8163BE2 - checkflag FLAG_RECEIVED_BELUE_BERRY - goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem_std ITEM_BELUE_BERRY compare RESULT, 0 diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc index 289ea2d29..3f02fc6e3 100644 --- a/data/scripts/maps/Route124.inc +++ b/data/scripts/maps/Route124.inc @@ -3,8 +3,7 @@ Route124_MapScripts:: @ 8151DDF .byte 0 Route124_MapScript1_151DE5:: @ 8151DE5 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route124_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, Route124_EventScript_1A02C1 end Route124_EventScript_151DEF:: @ 8151DEF diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc index 9423cf845..7bcddfe19 100644 --- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -9,8 +9,7 @@ Route124_DivingTreasureHuntersHouse_MapScript1_163E00:: @ 8163E00 Route124_DivingTreasureHuntersHouse_EventScript_163E04:: @ 8163E04 lock faceplayer - checkflag FLAG_MET_DIVING_TREASURE_HUNTER - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E20 + goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_163E20 msgbox Route124_DivingTreasureHuntersHouse_Text_19F416, 4 setflag FLAG_MET_DIVING_TREASURE_HUNTER goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E @@ -32,16 +31,16 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E44:: @ 8163E44 setvar VAR_TEMP_1, 0 checkitem ITEM_RED_SHARD, 1 compare RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E8A checkitem ITEM_YELLOW_SHARD, 1 compare RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90 + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E90 checkitem ITEM_BLUE_SHARD, 1 compare RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96 + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E96 checkitem ITEM_GREEN_SHARD, 1 compare RESULT, 1 - call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E9C return Route124_DivingTreasureHuntersHouse_EventScript_163E8A:: @ 8163E8A diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc index 58bf75c51..a1495ac83 100644 --- a/data/scripts/maps/Route125.inc +++ b/data/scripts/maps/Route125.inc @@ -3,8 +3,7 @@ Route125_MapScripts:: @ 8151F1E .byte 0 Route125_MapScript1_151F24:: @ 8151F24 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route125_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, Route125_EventScript_1A02C1 end Route125_EventScript_151F2E:: @ 8151F2E diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc index a89087994..4a28abfb7 100644 --- a/data/scripts/maps/Route126.inc +++ b/data/scripts/maps/Route126.inc @@ -3,8 +3,7 @@ Route126_MapScripts:: @ 8151FFE .byte 0 Route126_MapScript1_152004:: @ 8152004 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route126_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, Route126_EventScript_1A02C1 end Route126_EventScript_15200E:: @ 815200E diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc index 5fb122821..7552f7c5d 100644 --- a/data/scripts/maps/Route127.inc +++ b/data/scripts/maps/Route127.inc @@ -3,8 +3,7 @@ Route127_MapScripts:: @ 815206A .byte 0 Route127_MapScript1_152070:: @ 8152070 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route127_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, Route127_EventScript_1A02C1 end Route127_EventScript_15207A:: @ 815207A diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc index a97a1e93f..6550db979 100644 --- a/data/scripts/maps/Route128.inc +++ b/data/scripts/maps/Route128.inc @@ -4,8 +4,7 @@ Route128_MapScripts:: @ 815211B .byte 0 Route128_MapScript1_152126:: @ 8152126 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, Route128_EventScript_1A02C1 + call_if_set FLAG_SYS_WEATHER_CTRL, Route128_EventScript_1A02C1 call Route128_EventScript_1A0196 end diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc index efa26ecd2..ffd204bb9 100644 --- a/data/scripts/maps/Route131.inc +++ b/data/scripts/maps/Route131.inc @@ -3,8 +3,7 @@ Route131_MapScripts:: @ 815243E .byte 0 Route131_MapScript1_152444:: @ 8152444 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, Route131_EventScript_15244E + call_if_set FLAG_SYS_GAME_CLEAR, Route131_EventScript_15244E end Route131_EventScript_15244E:: @ 815244E diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc index c6bdbbdb7..415138d67 100644 --- a/data/scripts/maps/RustboroCity.inc +++ b/data/scripts/maps/RustboroCity.inc @@ -11,8 +11,7 @@ RustboroCity_MapScript1_14C378:: @ 814C378 RustboroCity_EventScript_14C386:: @ 814C386 lock faceplayer - checkflag FLAG_DEVON_GOODS_STOLEN - goto_if_eq RustboroCity_EventScript_14C39B + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_14C39B msgbox RustboroCity_Text_16689D, 4 release end @@ -36,8 +35,7 @@ RustboroCity_EventScript_14C3B1:: @ 814C3B1 RustboroCity_EventScript_14C3BA:: @ 814C3BA lock faceplayer - checkflag FLAG_BADGE01_GET - goto_if_eq RustboroCity_EventScript_14C3CF + goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_14C3CF msgbox RustboroCity_Text_16696D, 4 release end @@ -50,8 +48,7 @@ RustboroCity_EventScript_14C3CF:: @ 814C3CF RustboroCity_EventScript_14C3D9:: @ 814C3D9 lock faceplayer - checkflag FLAG_RECEIVED_POKENAV - goto_if_eq RustboroCity_EventScript_14C3EE + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_14C3EE msgbox RustboroCity_Text_166B86, 4 release end @@ -326,8 +323,7 @@ RustboroCity_Movement_14C5F7:: @ 814C5F7 RustboroCity_EventScript_14C5FF:: @ 814C5FF lock faceplayer - checkflag FLAG_RECOVERED_DEVON_GOODS - goto_if_eq RustboroCity_EventScript_14C614 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_14C614 msgbox RustboroCity_Text_166F6B, 4 release end @@ -364,13 +360,13 @@ RustboroCity_EventScript_14C644:: @ 814C644 RustboroCity_EventScript_14C650:: @ 814C650 compare VAR_TEMP_1, 0 - call_if 1, RustboroCity_EventScript_14C691 + call_if_eq RustboroCity_EventScript_14C691 compare VAR_TEMP_1, 1 - call_if 1, RustboroCity_EventScript_14C6BD + call_if_eq RustboroCity_EventScript_14C6BD compare VAR_TEMP_1, 2 - call_if 1, RustboroCity_EventScript_14C6E9 + call_if_eq RustboroCity_EventScript_14C6E9 compare VAR_TEMP_1, 3 - call_if 1, RustboroCity_EventScript_14C715 + call_if_eq RustboroCity_EventScript_14C715 setflag FLAG_UNKNOWN_9F setvar VAR_RUSTBORO_STATE, 3 moveobjectoffscreen 9 @@ -458,19 +454,19 @@ RustboroCity_EventScript_14C771:: @ 814C771 RustboroCity_EventScript_14C77D:: @ 814C77D compare VAR_TEMP_1, 0 - call_if 1, RustboroCity_EventScript_14C7FE + call_if_eq RustboroCity_EventScript_14C7FE compare VAR_TEMP_1, 1 - call_if 1, RustboroCity_EventScript_14C82A + call_if_eq RustboroCity_EventScript_14C82A compare VAR_TEMP_1, 2 - call_if 1, RustboroCity_EventScript_14C856 + call_if_eq RustboroCity_EventScript_14C856 compare VAR_TEMP_1, 3 - call_if 1, RustboroCity_EventScript_14C882 + call_if_eq RustboroCity_EventScript_14C882 compare VAR_TEMP_1, 4 - call_if 1, RustboroCity_EventScript_14C8B8 + call_if_eq RustboroCity_EventScript_14C8B8 msgbox RustboroCity_Text_166FB4, 4 giveitem_std ITEM_GREAT_BALL compare RESULT, 0 - call_if 1, RustboroCity_EventScript_14C7F5 + call_if_eq RustboroCity_EventScript_14C7F5 msgbox RustboroCity_Text_16707F, 4 closemessage setflag FLAG_RETURNED_DEVON_GOODS @@ -549,8 +545,7 @@ RustboroCity_EventScript_14C8B8:: @ 814C8B8 RustboroCity_EventScript_14C8DA:: @ 814C8DA lock faceplayer - checkflag FLAG_MET_RIVAL_RUSTBORO - goto_if_eq RustboroCity_EventScript_14C917 + goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_14C917 checkplayergender compare RESULT, 0 goto_if_eq RustboroCity_EventScript_14C8FD diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc index 3371005c0..e18a1e029 100644 --- a/data/scripts/maps/RustboroCity_CuttersHouse.inc +++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc @@ -4,8 +4,7 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8157D26 RustboroCity_CuttersHouse_EventScript_157D27:: @ 8157D27 lock faceplayer - checkflag FLAG_RECEIVED_HM01 - goto_if_eq RustboroCity_CuttersHouse_EventScript_157D53 + goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_157D53 msgbox RustboroCity_CuttersHouse_Text_18509C, 4 giveitem_std ITEM_HM01 setflag FLAG_RECEIVED_HM01 diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc index f9e902763..7b56c72a2 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc @@ -3,8 +3,7 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8157406 .byte 0 RustboroCity_DevonCorp_1F_MapScript1_15740C:: @ 815740C - checkflag FLAG_RETURNED_DEVON_GOODS - call_if 0, RustboroCity_DevonCorp_1F_EventScript_157416 + call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_157416 end RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416 @@ -15,10 +14,8 @@ RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416 RustboroCity_DevonCorp_1F_EventScript_157422:: @ 8157422 lock faceplayer - checkflag FLAG_RETURNED_DEVON_GOODS - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15744A - checkflag FLAG_DEVON_GOODS_STOLEN - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157440 + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_15744A + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_157440 msgbox RustboroCity_DevonCorp_1F_Text_1829A4, 4 release end @@ -36,12 +33,9 @@ RustboroCity_DevonCorp_1F_EventScript_15744A:: @ 815744A RustboroCity_DevonCorp_1F_EventScript_157454:: @ 8157454 lock faceplayer - checkflag FLAG_RETURNED_DEVON_GOODS - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15747B - checkflag FLAG_RECOVERED_DEVON_GOODS - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485 - checkflag FLAG_DEVON_GOODS_STOLEN - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485 + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_15747B + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_157485 + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_157485 msgbox RustboroCity_DevonCorp_1F_Text_182AF0, 4 release end @@ -59,12 +53,9 @@ RustboroCity_DevonCorp_1F_EventScript_157485:: @ 8157485 RustboroCity_DevonCorp_1F_EventScript_15748F:: @ 815748F lock faceplayer - checkflag FLAG_RETURNED_DEVON_GOODS - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574B6 - checkflag FLAG_RECOVERED_DEVON_GOODS - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0 - checkflag FLAG_DEVON_GOODS_STOLEN - goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0 + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_1574B6 + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_1574C0 + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_1574C0 msgbox RustboroCity_DevonCorp_1F_Text_1828EE, 4 release end diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc index 179140378..b7b36dd6d 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 81574CA RustboroCity_DevonCorp_2F_MapScript1_1574D0:: @ 81574D0 compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC end RustboroCity_DevonCorp_2F_EventScript_1574DC:: @ 81574DC @@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_1574E2:: @ 81574E2 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC msgbox RustboroCity_DevonCorp_2F_Text_182B81, 4 release end @@ -24,9 +24,8 @@ RustboroCity_DevonCorp_2F_EventScript_1574F9:: @ 81574F9 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC - checkflag FLAG_MET_DEVON_EMPLOYEE - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157519 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_157519 msgbox RustboroCity_DevonCorp_2F_Text_182BD8, 4 release end @@ -40,9 +39,8 @@ RustboroCity_DevonCorp_2F_EventScript_157523:: @ 8157523 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC - checkflag FLAG_RECEIVED_POKENAV - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157543 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_157543 msgbox RustboroCity_DevonCorp_2F_Text_182D2A, 4 release end @@ -56,7 +54,7 @@ RustboroCity_DevonCorp_2F_EventScript_15754D:: @ 815754D lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1574DC msgbox RustboroCity_DevonCorp_2F_Text_182E6B, 4 release end @@ -147,7 +145,7 @@ RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661 givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO compare RESULT, YES - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1A0678 release end @@ -167,7 +165,7 @@ RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4 givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 msgbox RustboroCity_DevonCorp_2F_Text_1A1102, MSGBOX_YESNO compare RESULT, YES - call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_1A0678 release end diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc index ff854d7ef..0b71effee 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc @@ -6,7 +6,7 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 8157711 RustboroCity_DevonCorp_3F_MapScript1_157721:: @ 8157721 compare VAR_DEVON_CORP_3F_STATE, 0 - call_if 1, RustboroCity_DevonCorp_3F_EventScript_15772D + call_if_eq RustboroCity_DevonCorp_3F_EventScript_15772D end RustboroCity_DevonCorp_3F_EventScript_15772D:: @ 815772D @@ -146,10 +146,8 @@ RustboroCity_DevonCorp_3F_Movement_157835:: @ 8157835 RustboroCity_DevonCorp_3F_EventScript_15783B:: @ 815783B lock faceplayer - checkflag FLAG_RECEIVED_EXP_SHARE - goto_if_eq RustboroCity_DevonCorp_3F_EventScript_15789B - checkflag FLAG_DELIVERED_STEVEN_LETTER - goto_if_eq RustboroCity_DevonCorp_3F_EventScript_157864 + goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_15789B + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_157864 msgbox RustboroCity_DevonCorp_3F_Text_18351E, 4 closemessage applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D @@ -181,8 +179,7 @@ RustboroCity_DevonCorp_3F_EventScript_15789B:: @ 815789B RustboroCity_DevonCorp_3F_EventScript_1578B0:: @ 81578B0 lock faceplayer - checkflag FLAG_RECEIVED_REPEAT_BALL - goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1578C5 + goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_1578C5 msgbox RustboroCity_DevonCorp_3F_Text_18395C, 4 release end diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc index 3a2242c7a..5ed9ac0ef 100644 --- a/data/scripts/maps/RustboroCity_Flat2_2F.inc +++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc @@ -8,8 +8,7 @@ RustboroCity_Flat2_2F_EventScript_157D97:: @ 8157D97 RustboroCity_Flat2_2F_EventScript_157DA0:: @ 8157DA0 lock faceplayer - checkflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO - goto_if_eq RustboroCity_Flat2_2F_EventScript_157DCF + goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_157DCF msgbox RustboroCity_Flat2_2F_Text_185461, 4 giveitem_std ITEM_PREMIER_BALL compare RESULT, 0 diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc index 1e2256b47..bcd597541 100644 --- a/data/scripts/maps/RustboroCity_Gym.inc +++ b/data/scripts/maps/RustboroCity_Gym.inc @@ -3,8 +3,7 @@ RustboroCity_Gym_MapScripts:: @ 81578D8 RustboroCity_Gym_EventScript_1578D9:: @ 81578D9 trainerbattle 1, OPPONENT_ROXANNE, 0, RustboroCity_Gym_Text_183EE5, RustboroCity_Gym_Text_183FC4, RustboroCity_Gym_EventScript_1578FE - checkflag FLAG_RECEIVED_TM39 - goto_if 0, RustboroCity_Gym_EventScript_15793C + goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_15793C msgbox RustboroCity_Gym_Text_184252, 4 release end @@ -21,7 +20,7 @@ RustboroCity_Gym_EventScript_1578FE:: @ 81578FE setvar VAR_SPECIAL_8, 1 call RustboroCity_Gym_EventScript_1A01C0 compare VAR_PETALBURG_GYM_STATE, 6 - call_if 1, RustboroCity_Gym_EventScript_1A00FB + call_if_eq RustboroCity_Gym_EventScript_1A00FB goto RustboroCity_Gym_EventScript_15793C end @@ -47,8 +46,7 @@ RustboroCity_Gym_EventScript_157977:: @ 8157977 RustboroCity_Gym_EventScript_15798E:: @ 815798E lock faceplayer - checkflag FLAG_DEFEATED_RUSTBORO_GYM - goto_if_eq RustboroCity_Gym_EventScript_1579A3 + goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_1579A3 msgbox RustboroCity_Gym_Text_183A4B, 4 release end @@ -60,15 +58,13 @@ RustboroCity_Gym_EventScript_1579A3:: @ 81579A3 RustboroCity_Gym_EventScript_1579AD:: @ 81579AD lockall - checkflag FLAG_BADGE01_GET - goto_if_eq RustboroCity_Gym_EventScript_1579CD + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_1579CD goto RustboroCity_Gym_EventScript_1579D7 end RustboroCity_Gym_EventScript_1579BD:: @ 81579BD lockall - checkflag FLAG_BADGE01_GET - goto_if_eq RustboroCity_Gym_EventScript_1579CD + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_1579CD goto RustboroCity_Gym_EventScript_1579D7 end diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc index c0f1bc689..abbac505b 100644 --- a/data/scripts/maps/RustboroCity_House1.inc +++ b/data/scripts/maps/RustboroCity_House1.inc @@ -4,8 +4,7 @@ RustboroCity_House1_MapScripts:: @ 8157C7C RustboroCity_House1_EventScript_157C7D:: @ 8157C7D lock faceplayer - checkflag FLAG_RUSTBORO_NPC_TRADE_COMPLETED - goto_if_eq RustboroCity_House1_EventScript_157D13 + goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_157D13 setvar VAR_SPECIAL_8, 0 copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 specialvar RESULT, GetInGameTradeSpeciesInfo @@ -22,7 +21,7 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D specialvar RESULT, GetTradeSpecies copyvar VAR_SPECIAL_B, RESULT compare RESULT, VAR_SPECIAL_9 - goto_if 5, RustboroCity_House1_EventScript_157D05 + goto_if_ne RustboroCity_House1_EventScript_157D05 copyvar VAR_SPECIAL_4, VAR_SPECIAL_8 copyvar VAR_SPECIAL_5, VAR_SPECIAL_A special CreateInGameTradePokemon diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc index 69f977e79..c8e3f3a43 100644 --- a/data/scripts/maps/RustboroCity_Mart.inc +++ b/data/scripts/maps/RustboroCity_Mart.inc @@ -6,10 +6,8 @@ RustboroCity_Mart_EventScript_157BD4:: @ 8157BD4 faceplayer message RustboroCity_Mart_Text_1A0BE4 waitmessage - checkflag FLAG_MET_DEVON_EMPLOYEE - goto_if 0, RustboroCity_Mart_EventScript_157BEF - checkflag FLAG_MET_DEVON_EMPLOYEE - goto_if_eq RustboroCity_Mart_EventScript_157C18 + goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_157BEF + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_157C18 end RustboroCity_Mart_EventScript_157BEF:: @ 8157BEF diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc index 21fdf3d3b..155df8de5 100644 --- a/data/scripts/maps/RustboroCity_PokemonSchool.inc +++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc @@ -77,12 +77,11 @@ RustboroCity_PokemonSchool_EventScript_157AC5:: @ 8157AC5 RustboroCity_PokemonSchool_EventScript_157ACE:: @ 8157ACE lock faceplayer - checkflag FLAG_RECEIVED_QUICK_CLAW - goto_if_eq RustboroCity_PokemonSchool_EventScript_157B34 + goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_157B34 compare FACING, 4 - call_if 1, RustboroCity_PokemonSchool_EventScript_157B1E + call_if_eq RustboroCity_PokemonSchool_EventScript_157B1E compare FACING, 3 - call_if 1, RustboroCity_PokemonSchool_EventScript_157B29 + call_if_eq RustboroCity_PokemonSchool_EventScript_157B29 msgbox RustboroCity_PokemonSchool_Text_1846A2, 4 giveitem_std ITEM_QUICK_CLAW compare RESULT, 0 diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc index 050cf28c2..7c715b6c2 100644 --- a/data/scripts/maps/RusturfTunnel.inc +++ b/data/scripts/maps/RusturfTunnel.inc @@ -11,7 +11,7 @@ RusturfTunnel_MapScript2_15C750:: @ 815C750 RusturfTunnel_MapScript1_15C762:: @ 815C762 call RusturfTunnel_EventScript_1A0196 compare VAR_RUSTURF_TUNNEL_STATE, 2 - call_if 1, RusturfTunnel_EventScript_15C773 + call_if_eq RusturfTunnel_EventScript_15C773 end RusturfTunnel_EventScript_15C773:: @ 815C773 @@ -32,8 +32,7 @@ RusturfTunnel_EventScript_15C782:: @ 815C782 RusturfTunnel_EventScript_15C799:: @ 815C799 lock faceplayer - checkflag FLAG_TEMP_1 - goto_if_eq RusturfTunnel_EventScript_15C7BC + goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_15C7BC setflag FLAG_TEMP_1 msgbox RusturfTunnel_Text_1944C5, 4 closemessage @@ -53,35 +52,35 @@ RusturfTunnel_EventScript_15C7BC:: @ 815C7BC RusturfTunnel_EventScript_15C7D1:: @ 815C7D1 lockall compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_15C8CA + call_if_eq RusturfTunnel_EventScript_15C8CA compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_15C8DF + call_if_eq RusturfTunnel_EventScript_15C8DF compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_15C8EA + call_if_eq RusturfTunnel_EventScript_15C8EA call RusturfTunnel_EventScript_15C92D msgbox RusturfTunnel_Text_19461D, 4 compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_15C8EB + call_if_eq RusturfTunnel_EventScript_15C8EB compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_15C8EB + call_if_eq RusturfTunnel_EventScript_15C8EB giveitem_std ITEM_HM04 setflag FLAG_RECEIVED_HM04 msgbox RusturfTunnel_Text_194693, 4 closemessage compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_15C880 + call_if_eq RusturfTunnel_EventScript_15C880 compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_15C892 + call_if_eq RusturfTunnel_EventScript_15C892 compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_15C8AE + call_if_eq RusturfTunnel_EventScript_15C8AE msgbox RusturfTunnel_Text_194706, 4 closemessage compare VAR_TEMP_1, 1 - call_if 1, RusturfTunnel_EventScript_15C8F7 + call_if_eq RusturfTunnel_EventScript_15C8F7 compare VAR_TEMP_1, 2 - call_if 1, RusturfTunnel_EventScript_15C909 + call_if_eq RusturfTunnel_EventScript_15C909 compare VAR_TEMP_1, 3 - call_if 1, RusturfTunnel_EventScript_15C91B + call_if_eq RusturfTunnel_EventScript_15C91B call RusturfTunnel_EventScript_1A0442 releaseall end diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc index dd5aee95c..7bc5a7fdd 100644 --- a/data/scripts/maps/SSTidalCorridor.inc +++ b/data/scripts/maps/SSTidalCorridor.inc @@ -124,8 +124,7 @@ SSTidalCorridor_EventScript_15FDD6:: @ 815FDD6 SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8 setrespawn 8 msgbox SSTidalCorridor_Text_1991F4, 4 - checkflag FLAG_RECEIVED_TM49 - call_if 1, SSTidalCorridor_EventScript_15FE36 + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_15FE36 warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release @@ -134,8 +133,7 @@ SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8 SSTidalCorridor_EventScript_15FE17:: @ 815FE17 setrespawn 4 msgbox SSTidalCorridor_Text_1991F4, 4 - checkflag FLAG_RECEIVED_TM49 - call_if 1, SSTidalCorridor_EventScript_15FE36 + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_15FE36 warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 waitstate release @@ -163,8 +161,7 @@ SSTidalCorridor_EventScript_15FE5B:: @ 815FE5B SSTidalCorridor_EventScript_15FE60:: @ 815FE60 lock faceplayer - checkflag FLAG_DEFEATED_SS_TIDAL_TRAINERS - goto_if_eq SSTidalCorridor_EventScript_15FE7A + goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_15FE7A call SSTidalCorridor_EventScript_15FE84 msgbox SSTidalCorridor_Text_199203, 4 release @@ -176,22 +173,14 @@ SSTidalCorridor_EventScript_15FE7A:: @ 815FE7A end SSTidalCorridor_EventScript_15FE84:: @ 815FE84 - checktrainerflag OPPONENT_PHILLIP - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_LEONARD - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_COLTON - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_TUCKER - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_THOMAS - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_LEA_AND_JED - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_GARRET - goto_if 0, SSTidalCorridor_EventScript_15FED5 - checktrainerflag OPPONENT_ANETTE - goto_if 0, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_PHILLIP, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_LEONARD, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_COLTON, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_TUCKER, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_THOMAS, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_LEA_AND_JED, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_GARRET, SSTidalCorridor_EventScript_15FED5 + goto_if_trainer_not_defeated OPPONENT_ANETTE, SSTidalCorridor_EventScript_15FED5 setflag FLAG_DEFEATED_SS_TIDAL_TRAINERS goto SSTidalCorridor_EventScript_15FE7A return diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc index 0390177de..58e7c3235 100644 --- a/data/scripts/maps/SSTidalRooms.inc +++ b/data/scripts/maps/SSTidalRooms.inc @@ -4,8 +4,7 @@ SSTidalRooms_MapScripts:: @ 815FF05 SSTidalRooms_EventScript_15FF06:: @ 815FF06 lock faceplayer - checkflag FLAG_RECEIVED_TM49 - goto_if_eq SSTidalRooms_EventScript_15FF3D + goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_15FF3D msgbox SSTidalRooms_Text_199B65, 4 giveitem_std ITEM_TM49 compare RESULT, 0 diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc index b3eb297e9..493aa55a1 100644 --- a/data/scripts/maps/SafariZone_Southeast.inc +++ b/data/scripts/maps/SafariZone_Southeast.inc @@ -21,7 +21,7 @@ SafariZone_Southeast_EventScript_16004B:: @ 816004B SafariZone_Southeast_MapScript1_160073:: @ 8160073 compare VAR_SAFARI_ZONE_STATE, 2 - call_if 1, SafariZone_Southeast_EventScript_16007F + call_if_eq SafariZone_Southeast_EventScript_16007F end SafariZone_Southeast_EventScript_16007F:: @ 816007F diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc index d788be9b3..11aba3ac8 100644 --- a/data/scripts/maps/SealedChamber_InnerRoom.inc +++ b/data/scripts/maps/SealedChamber_InnerRoom.inc @@ -6,8 +6,7 @@ SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8 braillemessage SealedChamber_InnerRoom_Braille_1C53C1 waitbuttonpress erasebox 0, 0, 29, 19 - checkflag FLAG_REGI_DOORS_OPENED - goto_if_eq SealedChamber_InnerRoom_EventScript_15F247 + goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_15F247 specialvar RESULT, CheckRelicanthWailord compare RESULT, 0 goto_if_eq SealedChamber_InnerRoom_EventScript_15F247 diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc index ad17819c2..1f2159010 100644 --- a/data/scripts/maps/SealedChamber_OuterRoom.inc +++ b/data/scripts/maps/SealedChamber_OuterRoom.inc @@ -14,8 +14,7 @@ SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7 end SealedChamber_OuterRoom_MapScript1_15F0EB:: @ 815F0EB - checkflag FLAG_SYS_BRAILLE_DIG - call_if 0, SealedChamber_OuterRoom_EventScript_15F0F5 + call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_15F0F5 end SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5 @@ -109,8 +108,7 @@ SealedChamber_OuterRoom_EventScript_15F1AA:: @ 815F1AA SealedChamber_OuterRoom_EventScript_15F1B8:: @ 815F1B8 lockall - checkflag FLAG_SYS_BRAILLE_DIG - goto_if_eq SealedChamber_OuterRoom_EventScript_15F1CF + goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_15F1CF braillemessage SealedChamber_OuterRoom_Braille_1C53B1 waitbuttonpress erasebox 0, 0, 29, 19 diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc index 4dcd88761..2005cb67b 100644 --- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc @@ -4,8 +4,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057 ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D special UpdateShoalTideFlag - checkflag FLAG_SYS_SHOAL_TIDE - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E06E + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_15E06E goto ShoalCave_LowTideEntranceRoom_EventScript_15E072 ShoalCave_LowTideEntranceRoom_EventScript_15E06E:: @ 815E06E @@ -20,8 +19,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076 lock faceplayer dodailyevents - checkflag FLAG_SYS_SHOAL_ITEM - call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176 + call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_15E176 checkitem ITEM_SHOAL_SALT, 4 compare RESULT, 0 goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138 @@ -33,7 +31,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076 goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E16C checkitemspace ITEM_SHELL_BELL, 1 compare RESULT, 0 - call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106 + call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E106 compare RESULT, 2 goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E12E msgbox ShoalCave_LowTideEntranceRoom_Text_1C6808, 4 diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc index b6aba9523..21997d076 100644 --- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc @@ -4,8 +4,7 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 815E192 .byte 0 ShoalCave_LowTideInnerRoom_MapScript1_15E19D:: @ 815E19D - checkflag FLAG_SYS_SHOAL_TIDE - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1AB + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1AB goto ShoalCave_LowTideInnerRoom_EventScript_15E1AF ShoalCave_LowTideInnerRoom_EventScript_15E1AB:: @ 815E1AB @@ -21,47 +20,39 @@ ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3 end ShoalCave_LowTideInnerRoom_EventScript_15E1B9:: @ 815E1B9 - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_1 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA - checkflag FLAG_SYS_SHOAL_TIDE - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_15E1DA + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1DA setmetatile 31, 8, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_15E1DA end ShoalCave_LowTideInnerRoom_EventScript_15E1DA:: @ 815E1DA - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_2 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB - checkflag FLAG_SYS_SHOAL_TIDE - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_15E1FB + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_15E1FB setmetatile 14, 26, 856, 1 goto ShoalCave_LowTideInnerRoom_EventScript_15E1FB end ShoalCave_LowTideInnerRoom_EventScript_15E1FB:: @ 815E1FB - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_1 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E213 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_15E213 setmetatile 41, 20, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_15E213 end ShoalCave_LowTideInnerRoom_EventScript_15E213:: @ 815E213 - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_2 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E22B + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_15E22B setmetatile 41, 10, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_15E22B end ShoalCave_LowTideInnerRoom_EventScript_15E22B:: @ 815E22B - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_3 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E243 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_15E243 setmetatile 6, 9, 857, 1 goto ShoalCave_LowTideInnerRoom_EventScript_15E243 end ShoalCave_LowTideInnerRoom_EventScript_15E243:: @ 815E243 - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_4 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E256 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_15E256 setmetatile 16, 13, 857, 1 return @@ -70,8 +61,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E256:: @ 815E256 ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_1 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem_std ITEM_SHOAL_SHELL compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B @@ -88,8 +78,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E289:: @ 815E289 ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_2 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem_std ITEM_SHOAL_SHELL compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B @@ -101,8 +90,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293 ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_3 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem_std ITEM_SHOAL_SHELL compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B @@ -114,8 +102,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5 ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SHELL_4 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem_std ITEM_SHOAL_SHELL compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B @@ -127,8 +114,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7 ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_1 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_15E35B giveitem_std ITEM_SHOAL_SALT compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B @@ -145,8 +131,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E35B:: @ 815E35B ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_2 - goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_15E35B giveitem_std ITEM_SHOAL_SALT compare RESULT, 0 goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc index c7cb08a9b..19223a499 100644 --- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc @@ -7,8 +7,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_15E3F9:: @ 815E3F9 end ShoalCave_LowTideLowerRoom_EventScript_15E3FF:: @ 815E3FF - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_4 - goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E412 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_15E412 setmetatile 18, 2, 856, 1 return @@ -17,8 +16,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E412:: @ 815E412 ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_4 - goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E445 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_15E445 giveitem_std ITEM_SHOAL_SALT compare RESULT, 0 goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B @@ -36,8 +34,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E445:: @ 815E445 ShoalCave_LowTideLowerRoom_EventScript_15E44F:: @ 815E44F lock faceplayer - checkflag FLAG_RECEIVED_FOCUS_BAND - goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E47E + goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_15E47E msgbox ShoalCave_LowTideLowerRoom_Text_198200, 4 giveitem_std ITEM_FOCUS_BAND compare RESULT, 0 diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc index efcad59d3..5f9726038 100644 --- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc @@ -7,8 +7,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_15E39D:: @ 815E39D end ShoalCave_LowTideStairsRoom_EventScript_15E3A3:: @ 815E3A3 - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_3 - goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3B6 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_15E3B6 setmetatile 11, 11, 856, 1 return @@ -17,8 +16,7 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B6:: @ 815E3B6 ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7 lockall - checkflag FLAG_HIDE_TOOK_SHOAL_SALT_3 - goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3E9 + goto_if_set FLAG_HIDE_TOOK_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_15E3E9 giveitem_std ITEM_SHOAL_SALT compare RESULT, 0 goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_1A029B diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc index 07a78d2c4..82149a4bc 100644 --- a/data/scripts/maps/SkyPillar_Top.inc +++ b/data/scripts/maps/SkyPillar_Top.inc @@ -3,8 +3,7 @@ SkyPillar_Top_MapScripts:: @ 815F302 .byte 0 SkyPillar_Top_MapScript1_15F308:: @ 815F308 - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, SkyPillar_Top_EventScript_15F312 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_15F312 end SkyPillar_Top_EventScript_15F312:: @ 815F312 diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc index ae8534ad9..4af912ed3 100644 --- a/data/scripts/maps/SlateportCity.inc +++ b/data/scripts/maps/SlateportCity.inc @@ -13,7 +13,7 @@ SlateportCity_MapScript1_14BA3C:: @ 814BA3C setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0 call SlateportCity_EventScript_14BA5C compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BA68 + call_if_eq SlateportCity_EventScript_14BA68 end SlateportCity_EventScript_14BA5C:: @ 814BA5C @@ -68,10 +68,10 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0 msgbox SlateportCity_Text_164682, 4 specialvar RESULT, LeadMonHasEffortRibbon compare RESULT, 1 - call_if 1, SlateportCity_EventScript_14BB35 + call_if_eq SlateportCity_EventScript_14BB35 specialvar RESULT, ScrSpecial_AreLeadMonEVsMaxedOut compare RESULT, 0 - call_if 1, SlateportCity_EventScript_14BB2B + call_if_eq SlateportCity_EventScript_14BB2B msgbox SlateportCity_Text_164691, 4 playfanfare BGM_FANFA4 message SlateportCity_Text_1646DD @@ -96,7 +96,7 @@ SlateportCity_EventScript_14BB3F:: @ 814BB3F lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BB56 + call_if_eq SlateportCity_EventScript_14BB56 msgbox SlateportCity_Text_164814, 4 release end @@ -110,7 +110,7 @@ SlateportCity_EventScript_14BB60:: @ 814BB60 lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BB77 + call_if_eq SlateportCity_EventScript_14BB77 msgbox SlateportCity_Text_1648A0, 4 release end @@ -124,9 +124,8 @@ SlateportCity_EventScript_14BB81:: @ 814BB81 lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BBA1 - checkflag FLAG_RECEIVED_SECRET_POWER - goto_if_eq SlateportCity_EventScript_14BBAB + call_if_eq SlateportCity_EventScript_14BBA1 + goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BBAB msgbox SlateportCity_Text_164937, 4 release end @@ -145,7 +144,7 @@ SlateportCity_EventScript_14BBB5:: @ 814BBB5 lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BBCC + call_if_eq SlateportCity_EventScript_14BBCC msgbox SlateportCity_Text_164A30, 4 release end @@ -169,7 +168,7 @@ SlateportCity_EventScript_14BBF3:: @ 814BBF3 lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BC0A + call_if_eq SlateportCity_EventScript_14BC0A msgbox SlateportCity_Text_164B34, 4 release end @@ -182,8 +181,7 @@ SlateportCity_EventScript_14BC0A:: @ 814BC0A SlateportCity_EventScript_14BC14:: @ 814BC14 lock faceplayer - checkflag FLAG_DOCK_REJECTED_DEVON_GOODS - goto_if_eq SlateportCity_EventScript_14BC29 + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_14BC29 msgbox SlateportCity_Text_164BBF, 4 release end @@ -199,10 +197,8 @@ SlateportCity_EventScript_14BC33:: @ 814BC33 SlateportCity_EventScript_14BC3C:: @ 814BC3C lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq SlateportCity_EventScript_14BC63 - checkflag FLAG_BADGE07_GET - goto_if_eq SlateportCity_EventScript_14BC59 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_14BC63 + goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_14BC59 msgbox SlateportCity_Text_1658A0, 4 releaseall end @@ -235,8 +231,7 @@ SlateportCity_EventScript_14BC88:: @ 814BC88 SlateportCity_EventScript_14BC91:: @ 814BC91 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq SlateportCity_EventScript_14BCA5 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_14BCA5 msgbox SlateportCity_Text_165A8B, 4 releaseall end @@ -254,7 +249,7 @@ SlateportCity_EventScript_14BCB8:: @ 814BCB8 lock faceplayer compare VAR_SLATEPORT_STATE, 1 - call_if 1, SlateportCity_EventScript_14BCCF + call_if_eq SlateportCity_EventScript_14BCCF msgbox SlateportCity_Text_164F9E, 4 release end @@ -289,9 +284,9 @@ SlateportCity_EventScript_14BD06:: @ 814BD06 faceplayer msgbox SlateportCity_Text_1650F1, MSGBOX_YESNO compare RESULT, YES - call_if 1, SlateportCity_EventScript_14BD28 + call_if_eq SlateportCity_EventScript_14BD28 compare RESULT, NO - call_if 1, SlateportCity_EventScript_14BD31 + call_if_eq SlateportCity_EventScript_14BD31 release end @@ -410,8 +405,7 @@ SlateportCity_EventScript_14BE16:: @ 814BE16 SlateportCity_EventScript_14BE20:: @ 814BE20 lock faceplayer - checkflag FLAG_RECEIVED_SECRET_POWER - goto_if 0, SlateportCity_EventScript_14BE16 + goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BE16 message SlateportCity_Text_1A0BE4 waitmessage pokemartdecoration SlateportCity_Decorations2 @@ -442,8 +436,7 @@ SlateportCity_Decorations2:: @ 814BE40 @ 814BE60 lock faceplayer - checkflag FLAG_RECEIVED_SECRET_POWER - goto_if 0, SlateportCity_EventScript_14BE16 + goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_14BE16 message SlateportCity_Text_1A0BE4 waitmessage pokemartdecoration SlateportCity_Decorations3 diff --git a/data/scripts/maps/SlateportCity_ContestHall.inc b/data/scripts/maps/SlateportCity_ContestHall.inc index 0a6f40c75..4151579a2 100644 --- a/data/scripts/maps/SlateportCity_ContestHall.inc +++ b/data/scripts/maps/SlateportCity_ContestHall.inc @@ -12,8 +12,7 @@ SlateportCity_ContestHall_EventScript_155555:: @ 8155555 SlateportCity_ContestHall_EventScript_15555E:: @ 815555E lock faceplayer - checkflag FLAG_RECEIVED_TM41 - goto_if_eq SlateportCity_ContestHall_EventScript_155595 + goto_if_set FLAG_RECEIVED_TM41, SlateportCity_ContestHall_EventScript_155595 msgbox SlateportCity_ContestHall_Text_17CCE2, 4 giveitem_std ITEM_TM41 compare RESULT, 0 diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc index 59c5b13fc..22f797968 100644 --- a/data/scripts/maps/SlateportCity_ContestLobby.inc +++ b/data/scripts/maps/SlateportCity_ContestLobby.inc @@ -101,8 +101,7 @@ SlateportCity_ContestLobby_EventScript_1554F0:: @ 81554F0 SlateportCity_ContestLobby_EventScript_1554F9:: @ 81554F9 lockall - checkflag FLAG_RECEIVED_POKEBLOCK_CASE - goto_if_eq SlateportCity_ContestLobby_EventScript_155526 + goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, SlateportCity_ContestLobby_EventScript_155526 applymovement 7, SlateportCity_ContestLobby_Movement_1A0839 waitmovement 0 msgbox SlateportCity_ContestLobby_Text_17CA67, 4 diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc index 4be5c6daf..82a17b0a6 100644 --- a/data/scripts/maps/SlateportCity_Harbor.inc +++ b/data/scripts/maps/SlateportCity_Harbor.inc @@ -6,9 +6,8 @@ SlateportCity_Harbor_MapScript1_155F63:: @ 8155F63 setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13 setvar VAR_TEMP_1, 0 compare VAR_SLATEPORT_HARBOR_STATE, 1 - call_if 1, SlateportCity_Harbor_EventScript_155F89 - checkflag FLAG_SYS_GAME_CLEAR - call_if 1, SlateportCity_Harbor_EventScript_155F85 + call_if_eq SlateportCity_Harbor_EventScript_155F89 + call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_155F85 end SlateportCity_Harbor_EventScript_155F85:: @ 8155F85 @@ -64,13 +63,13 @@ SlateportCity_Harbor_EventScript_155FD5:: @ 8155FD5 removeobject 8 setvar VAR_SLATEPORT_HARBOR_STATE, 2 compare VAR_SPECIAL_8, 0 - call_if 1, SlateportCity_Harbor_EventScript_15605C + call_if_eq SlateportCity_Harbor_EventScript_15605C compare VAR_SPECIAL_8, 1 - call_if 1, SlateportCity_Harbor_EventScript_156071 + call_if_eq SlateportCity_Harbor_EventScript_156071 compare VAR_SPECIAL_8, 2 - call_if 1, SlateportCity_Harbor_EventScript_156086 + call_if_eq SlateportCity_Harbor_EventScript_156086 compare VAR_SPECIAL_8, 3 - call_if 1, SlateportCity_Harbor_EventScript_156086 + call_if_eq SlateportCity_Harbor_EventScript_156086 msgbox SlateportCity_Harbor_Text_17FE60, 4 closemessage setflag FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT @@ -159,8 +158,7 @@ SlateportCity_Harbor_Movement_1560C2:: @ 81560C2 SlateportCity_Harbor_EventScript_1560C4:: @ 81560C4 lock faceplayer - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq SlateportCity_Harbor_EventScript_1560D9 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_1560D9 msgbox SlateportCity_Harbor_Text_17FA0A, 4 release end @@ -224,9 +222,9 @@ SlateportCity_Harbor_EventScript_156196:: @ 8156196 delay 30 hideobjectat LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR compare FACING, 2 - call_if 1, SlateportCity_Harbor_EventScript_1561EF + call_if_eq SlateportCity_Harbor_EventScript_1561EF compare FACING, 4 - call_if 1, SlateportCity_Harbor_EventScript_1561E4 + call_if_eq SlateportCity_Harbor_EventScript_1561E4 delay 30 hideobjectat 255, MAP_PETALBURG_CITY setvar VAR_SPECIAL_4, 5 @@ -268,12 +266,9 @@ SlateportCity_Harbor_EventScript_156208:: @ 8156208 SlateportCity_Harbor_EventScript_156211:: @ 8156211 lock faceplayer - checkflag FLAG_BADGE07_GET - goto_if_eq SlateportCity_Harbor_EventScript_15626F - checkflag FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE - goto_if_eq SlateportCity_Harbor_EventScript_156265 - checkflag FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE - goto_if_eq SlateportCity_Harbor_EventScript_156258 + goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_15626F + goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_156265 + goto_if_set FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_156258 compare VAR_SLATEPORT_HARBOR_STATE, 2 goto_if_eq SlateportCity_Harbor_EventScript_15624E msgbox SlateportCity_Harbor_Text_17FD1C, 4 @@ -305,8 +300,7 @@ SlateportCity_Harbor_EventScript_15626F:: @ 815626F checkitem ITEM_SCANNER, 1 compare RESULT, 1 goto_if_eq SlateportCity_Harbor_EventScript_1562A7 - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq SlateportCity_Harbor_EventScript_15629D + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_15629D msgbox SlateportCity_Harbor_Text_18017B, 4 release end diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc index 13de091cb..be2955937 100644 --- a/data/scripts/maps/SlateportCity_House1.inc +++ b/data/scripts/maps/SlateportCity_House1.inc @@ -16,7 +16,7 @@ SlateportCity_House1_EventScript_15569C:: @ 815569C special SelectMonForNPCTrade waitstate compare VAR_SPECIAL_4, 255 - goto_if 5, SlateportCity_House1_EventScript_1556C9 + goto_if_ne SlateportCity_House1_EventScript_1556C9 compare VAR_SPECIAL_4, 255 goto_if_eq SlateportCity_House1_EventScript_1556BF end diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc index 5d0fdb411..c8ece697d 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc @@ -57,8 +57,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155B2D:: @ 8155B2D end SlateportCity_OceanicMuseum_1F_EventScript_155B5A:: @ 8155B5A - checkflag FLAG_DELIVERED_DEVON_GOODS - goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_155B7B msgbox SlateportCity_OceanicMuseum_1F_Text_17E1F5, 4 closemessage hidemoneybox 0, 0 @@ -173,7 +172,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C3A:: @ 8155C3A compare FACING, 2 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155C98 compare FACING, 2 - goto_if 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD + goto_if_ne SlateportCity_OceanicMuseum_1F_EventScript_155CAD end SlateportCity_OceanicMuseum_1F_EventScript_155C98:: @ 8155C98 diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc index 5dae0bc6b..d84982e2e 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc @@ -22,21 +22,21 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6 applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5 waitmovement 0 compare FACING, 1 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E62 compare FACING, 4 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E62 msgbox SlateportCity_OceanicMuseum_2F_Text_17EDAE, 4 compare FACING, 4 - call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D + call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_155E6D msgbox SlateportCity_OceanicMuseum_2F_Text_17EDD7, 4 msgbox SlateportCity_OceanicMuseum_2F_Text_17EE01, 4 closemessage applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2 waitmovement 0 compare FACING, 1 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E78 compare FACING, 3 - call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83 + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_155E83 trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_1, 0, SlateportCity_OceanicMuseum_2F_Text_17EE4E msgbox SlateportCity_OceanicMuseum_2F_Text_17EE66, 4 closemessage diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc index f7cc67236..6a8c88e1e 100644 --- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -23,18 +23,13 @@ SlateportCity_PokemonFanClub_EventScript_155795:: @ 8155795 SlateportCity_PokemonFanClub_EventScript_1557A8:: @ 81557A8 setvar VAR_TEMP_2, 0 - checkflag FLAG_RECEIVED_YELLOW_SCARF - call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 - checkflag FLAG_RECEIVED_GREEN_SCARF - call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 - checkflag FLAG_RECEIVED_PINK_SCARF - call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 - checkflag FLAG_RECEIVED_BLUE_SCARF - call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 - checkflag FLAG_RECEIVED_RED_SCARF - call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_155893 + call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_155893 + call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_155893 + call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_155893 + call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_155893 compare VAR_TEMP_2, 5 - call_if 1, SlateportCity_PokemonFanClub_EventScript_15588D + call_if_eq SlateportCity_PokemonFanClub_EventScript_15588D compare VAR_SLATEPORT_FAN_CLUB_STATE, 2 goto_if_eq SlateportCity_PokemonFanClub_EventScript_1557FE msgbox SlateportCity_PokemonFanClub_Text_17DA14, 4 @@ -49,16 +44,11 @@ SlateportCity_PokemonFanClub_EventScript_1557FE:: @ 81557FE SlateportCity_PokemonFanClub_EventScript_155808:: @ 8155808 msgbox SlateportCity_PokemonFanClub_Text_17DA49, 4 setvar VAR_TEMP_1, 0 - checkflag FLAG_RECEIVED_YELLOW_SCARF - call_if 0, SlateportCity_PokemonFanClub_EventScript_1559FE - checkflag FLAG_RECEIVED_GREEN_SCARF - call_if 0, SlateportCity_PokemonFanClub_EventScript_1559E7 - checkflag FLAG_RECEIVED_PINK_SCARF - call_if 0, SlateportCity_PokemonFanClub_EventScript_1559D0 - checkflag FLAG_RECEIVED_BLUE_SCARF - call_if 0, SlateportCity_PokemonFanClub_EventScript_1559B9 - checkflag FLAG_RECEIVED_RED_SCARF - call_if 0, SlateportCity_PokemonFanClub_EventScript_1559A2 + call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_1559FE + call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_1559E7 + call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_1559D0 + call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_1559B9 + call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_1559A2 bufferleadmonspeciesname 0 switch VAR_TEMP_1 case 0, SlateportCity_PokemonFanClub_EventScript_155899 @@ -146,7 +136,7 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998 SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2 specialvar RESULT, CheckLeadMonCool compare RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_1559B3 + call_if_eq SlateportCity_PokemonFanClub_EventScript_1559B3 return SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3 @@ -156,7 +146,7 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3 SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9 specialvar RESULT, CheckLeadMonBeauty compare RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_1559CA + call_if_eq SlateportCity_PokemonFanClub_EventScript_1559CA return SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA @@ -166,7 +156,7 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0 specialvar RESULT, CheckLeadMonCute compare RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_1559E1 + call_if_eq SlateportCity_PokemonFanClub_EventScript_1559E1 return SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1 @@ -176,7 +166,7 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1 SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7 specialvar RESULT, CheckLeadMonSmart compare RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_1559F8 + call_if_eq SlateportCity_PokemonFanClub_EventScript_1559F8 return SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8 @@ -186,7 +176,7 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8 SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE specialvar RESULT, CheckLeadMonTough compare RESULT, 1 - call_if 1, SlateportCity_PokemonFanClub_EventScript_155A0F + call_if_eq SlateportCity_PokemonFanClub_EventScript_155A0F return SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F @@ -196,12 +186,11 @@ SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15 lock faceplayer - checkflag FLAG_RECEIVED_SOOTHE_BELL - goto_if_eq SlateportCity_PokemonFanClub_EventScript_155A75 + goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_155A75 msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4 specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 4 - goto_if 4, SlateportCity_PokemonFanClub_EventScript_155A3A + goto_if_ge SlateportCity_PokemonFanClub_EventScript_155A3A release end diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc index 46dc8419c..dd31e8e26 100644 --- a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc +++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc @@ -3,14 +3,10 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8155335 SlateportCity_SternsShipyard_1F_EventScript_155336:: @ 8155336 lockall - checkflag FLAG_SYS_GAME_CLEAR - goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_155388 - checkflag FLAG_BADGE07_GET - goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_15539C - checkflag FLAG_DELIVERED_DEVON_GOODS - goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553CF - checkflag FLAG_DOCK_REJECTED_DEVON_GOODS - goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553B0 + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_155388 + goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_15539C + goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_1553CF + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_1553B0 msgbox SlateportCity_SternsShipyard_1F_Text_17C14B, 4 applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 waitmovement 0 diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc index 367677751..669d4ecfa 100644 --- a/data/scripts/maps/SootopolisCity.inc +++ b/data/scripts/maps/SootopolisCity.inc @@ -5,10 +5,8 @@ SootopolisCity_MapScripts:: @ 814D07D .byte 0 SootopolisCity_MapScript1_14D08D:: @ 814D08D - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - call_if 0, SootopolisCity_EventScript_14D0A0 - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - call_if 1, SootopolisCity_EventScript_14D0B1 + call_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_14D0A0 + call_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_14D0B1 end SootopolisCity_EventScript_14D0A0:: @ 814D0A0 @@ -17,8 +15,7 @@ SootopolisCity_EventScript_14D0A0:: @ 814D0A0 return SootopolisCity_EventScript_14D0B1:: @ 814D0B1 - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 0, SootopolisCity_EventScript_14D0BB + call_if_unset FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D0BB return SootopolisCity_EventScript_14D0BB:: @ 814D0BB @@ -35,10 +32,8 @@ SootopolisCity_EventScript_14D0BB:: @ 814D0BB SootopolisCity_MapScript1_14D10D:: @ 814D10D setflag FLAG_VISITED_SOOTOPOLIS_CITY - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - call_if 1, SootopolisCity_EventScript_14D159 - checkflag FLAG_SYS_WEATHER_CTRL - call_if 1, SootopolisCity_EventScript_14D123 + call_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D159 + call_if_set FLAG_SYS_WEATHER_CTRL, SootopolisCity_EventScript_14D123 end SootopolisCity_EventScript_14D123:: @ 814D123 @@ -46,7 +41,7 @@ SootopolisCity_EventScript_14D123:: @ 814D123 setobjectxyperm 1, 29, 19 setobjectxyperm 2, 33, 19 compare VAR_SOOTOPOLIS_STATE, 1 - call_if 1, SootopolisCity_EventScript_14D142 + call_if_eq SootopolisCity_EventScript_14D142 return SootopolisCity_EventScript_14D142:: @ 814D142 @@ -68,8 +63,7 @@ SootopolisCity_MapScript1_14D165:: @ 814D165 SootopolisCity_EventScript_14D16E:: @ 814D16E lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_EventScript_14D183 + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D183 msgbox SootopolisCity_Text_1696A4, 4 release end @@ -92,8 +86,7 @@ SootopolisCity_EventScript_14D19F:: @ 814D19F faceplayer dodailyevents special GetPlayerBigGuyGirlString - checkflag FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS - goto_if_eq SootopolisCity_EventScript_14D241 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS, SootopolisCity_EventScript_14D241 msgbox SootopolisCity_Text_1C63F2, 4 random 10 addvar RESULT, 20 @@ -142,8 +135,7 @@ SootopolisCity_EventScript_14D25E:: @ 814D25E SootopolisCity_EventScript_14D268:: @ 814D268 lock faceplayer - checkflag FLAG_DEFEATED_SOOTOPOLIS_GYM - goto_if_eq SootopolisCity_EventScript_14D27D + goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_EventScript_14D27D msgbox SootopolisCity_Text_16A4D6, 4 release end @@ -156,8 +148,7 @@ SootopolisCity_EventScript_14D27D:: @ 814D27D SootopolisCity_EventScript_14D287:: @ 814D287 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_EventScript_14D29C + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D29C msgbox SootopolisCity_Text_169813, 4 release end @@ -170,8 +161,7 @@ SootopolisCity_EventScript_14D29C:: @ 814D29C SootopolisCity_EventScript_14D2A6:: @ 814D2A6 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_EventScript_14D2BB + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D2BB msgbox SootopolisCity_Text_1698A0, 4 release end @@ -184,8 +174,7 @@ SootopolisCity_EventScript_14D2BB:: @ 814D2BB SootopolisCity_EventScript_14D2C5:: @ 814D2C5 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_EventScript_14D2DA + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D2DA msgbox SootopolisCity_Text_1697A7, 4 release end @@ -445,8 +434,7 @@ SootopolisCity_EventScript_14D48F:: @ 814D48F SootopolisCity_EventScript_14D498:: @ 814D498 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_EventScript_14D4AD + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_EventScript_14D4AD .ifdef SAPPHIRE msgbox SootopolisCity_Text_169DA6, 4 .else diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc index 35fa306e6..44bcda12f 100644 --- a/data/scripts/maps/SootopolisCity_Gym_1F.inc +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25 SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E compare VAR_ICE_STEP_COUNT, 8 - goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF85 + goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF85 compare VAR_ICE_STEP_COUNT, 28 - goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF73 + goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF73 compare VAR_ICE_STEP_COUNT, 69 - goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF61 + goto_if_lt SootopolisCity_Gym_1F_EventScript_15AF61 setmetatile 8, 4, 519, 0 setmetatile 8, 5, 519, 0 @@ -87,10 +87,8 @@ SootopolisCity_Gym_1F_Movement_15AFFD:: @ 815AFFD SootopolisCity_Gym_1F_EventScript_15AFFF:: @ 815AFFF trainerbattle 1, OPPONENT_WALLACE, 0, SootopolisCity_Gym_1F_Text_18F0CA, SootopolisCity_Gym_1F_Text_18F282, SootopolisCity_Gym_1F_EventScript_15B02D - checkflag FLAG_RECEIVED_TM03 - goto_if 0, SootopolisCity_Gym_1F_EventScript_15B056 - checkflag FLAG_BADGE06_GET - goto_if 0, SootopolisCity_Gym_1F_EventScript_15B07A + goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_15B056 + goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_15B07A msgbox SootopolisCity_Gym_1F_Text_18F4D7, 4 release end @@ -124,8 +122,7 @@ SootopolisCity_Gym_1F_EventScript_15B07A:: @ 815B07A SootopolisCity_Gym_1F_EventScript_15B084:: @ 815B084 lock faceplayer - checkflag FLAG_DEFEATED_SOOTOPOLIS_GYM - goto_if_eq SootopolisCity_Gym_1F_EventScript_15B099 + goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_15B099 msgbox SootopolisCity_Gym_1F_Text_18E8A5, 4 release end @@ -137,15 +134,13 @@ SootopolisCity_Gym_1F_EventScript_15B099:: @ 815B099 SootopolisCity_Gym_1F_EventScript_15B0A3:: @ 815B0A3 lockall - checkflag FLAG_BADGE08_GET - goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_15B0C3 goto SootopolisCity_Gym_1F_EventScript_15B0CD end SootopolisCity_Gym_1F_EventScript_15B0B3:: @ 815B0B3 lockall - checkflag FLAG_BADGE08_GET - goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_15B0C3 goto SootopolisCity_Gym_1F_EventScript_15B0CD end diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc index 074c9a179..67be3738b 100644 --- a/data/scripts/maps/SootopolisCity_House1.inc +++ b/data/scripts/maps/SootopolisCity_House1.inc @@ -4,8 +4,7 @@ SootopolisCity_House1_MapScripts:: @ 815B29A SootopolisCity_House1_EventScript_15B29B:: @ 815B29B lock faceplayer - checkflag FLAG_RECEIVED_TM31 - goto_if_eq SootopolisCity_House1_EventScript_15B2C7 + goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_15B2C7 msgbox SootopolisCity_House1_Text_18F991, 4 giveitem_std ITEM_TM31 setflag FLAG_RECEIVED_TM31 diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc index e32e993dd..d714993d4 100644 --- a/data/scripts/maps/SootopolisCity_House2.inc +++ b/data/scripts/maps/SootopolisCity_House2.inc @@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_15B2E5:: @ 815B2E5 faceplayer msgbox SootopolisCity_House2_Text_18FA66, MSGBOX_YESNO compare RESULT, YES - call_if 1, SootopolisCity_House2_EventScript_15B307 + call_if_eq SootopolisCity_House2_EventScript_15B307 compare RESULT, NO - call_if 1, SootopolisCity_House2_EventScript_15B310 + call_if_eq SootopolisCity_House2_EventScript_15B310 release end diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc index d2fb4ed7b..24c59500a 100644 --- a/data/scripts/maps/SootopolisCity_House6.inc +++ b/data/scripts/maps/SootopolisCity_House6.inc @@ -4,11 +4,10 @@ SootopolisCity_House6_MapScripts:: @ 815B385 SootopolisCity_House6_EventScript_15B386:: @ 815B386 lock faceplayer - checkflag FLAG_RECEIVED_WAILMER_DOLL - goto_if_eq SootopolisCity_House6_EventScript_15B3CD + goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_15B3CD msgbox SootopolisCity_House6_Text_18FEA1, MSGBOX_YESNO compare RESULT, NO - call_if 1, SootopolisCity_House6_EventScript_15B3C3 + call_if_eq SootopolisCity_House6_EventScript_15B3C3 msgbox SootopolisCity_House6_Text_18FF12, 4 givedecoration_std DECOR_WAILMER_DOLL compare RESULT, 0 diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc index 115ed0453..1687bd91e 100644 --- a/data/scripts/maps/SootopolisCity_Mart.inc +++ b/data/scripts/maps/SootopolisCity_Mart.inc @@ -29,10 +29,8 @@ SootopolisCity_Mart_Items:: @ 815B234 SootopolisCity_Mart_EventScript_15B24A:: @ 815B24A lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_Mart_EventScript_15B268 - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if 0, SootopolisCity_Mart_EventScript_15B268 + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_Mart_EventScript_15B268 + goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_15B268 msgbox SootopolisCity_Mart_Text_18F8D7, 4 release end @@ -45,10 +43,8 @@ SootopolisCity_Mart_EventScript_15B268:: @ 815B268 SootopolisCity_Mart_EventScript_15B272:: @ 815B272 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_Mart_EventScript_15B290 - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if 0, SootopolisCity_Mart_EventScript_15B290 + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_Mart_EventScript_15B290 + goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_15B290 msgbox SootopolisCity_Mart_Text_18F96B, 4 release end diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc index 9eb5b4a57..820dd4858 100644 --- a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc @@ -17,10 +17,8 @@ SootopolisCity_PokemonCenter_1F_MapScript1_15B196:: @ 815B196 SootopolisCity_PokemonCenter_1F_EventScript_15B1A8:: @ 815B1A8 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 + goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 msgbox SootopolisCity_PokemonCenter_1F_Text_18F770, 4 release end @@ -33,10 +31,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1C6:: @ 815B1C6 SootopolisCity_PokemonCenter_1F_EventScript_15B1D0:: @ 815B1D0 lock faceplayer - checkflag FLAG_LEGENDARY_BATTLE_COMPLETED - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE + goto_if_set FLAG_LEGENDARY_BATTLE_COMPLETED, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE + goto_if_unset FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE msgbox SootopolisCity_PokemonCenter_1F_Text_18F860, 4 release end diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc index cbc451a18..5878a43d5 100644 --- a/data/scripts/maps/SouthernIsland_Interior.inc +++ b/data/scripts/maps/SouthernIsland_Interior.inc @@ -4,8 +4,7 @@ SouthernIsland_Interior_MapScripts:: @ 8160B53 .byte 0 SouthernIsland_Interior_MapScript1_160B5E:: @ 8160B5E - checkflag FLAG_SYS_CTRL_OBJ_DELETE - call_if 1, SouthernIsland_Interior_EventScript_160B68 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_160B68 end SouthernIsland_Interior_EventScript_160B68:: @ 8160B68 @@ -44,10 +43,8 @@ SouthernIsland_Interior_EventScript_160B9B:: @ 8160B9B end SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7 - checkflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS - goto_if_eq SouthernIsland_Interior_EventScript_160C08 - checkflag FLAG_SYS_HAS_EON_TICKET - goto_if 0, SouthernIsland_Interior_EventScript_160C08 + goto_if_set FLAG_ECOUNTERED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_160C08 + goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_160C08 setflag FLAG_ECOUNTERED_LATIAS_OR_LATIOS special SpawnCameraDummy applymovement 127, SouthernIsland_Interior_Movement_160C12 diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc index d991a7096..d34558e40 100644 --- a/data/scripts/maps/Underwater_SeafloorCavern.inc +++ b/data/scripts/maps/Underwater_SeafloorCavern.inc @@ -6,8 +6,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 815D99E Underwater_SeafloorCavern_MapScript1_15D9AE:: @ 815D9AE setflag FLAG_LANDMARK_SEAFLOOR_CAVERN - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - goto_if_eq Underwater_SeafloorCavern_EventScript_15D9BB + goto_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_15D9BB end Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB @@ -15,8 +14,7 @@ Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB end Underwater_SeafloorCavern_MapScript1_15D9BF:: @ 815D9BF - checkflag FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN - call_if 1, Underwater_SeafloorCavern_EventScript_15D9C9 + call_if_set FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_15D9C9 end Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9 diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc index 8d3e8e723..3151c4575 100644 --- a/data/scripts/maps/Underwater_SealedChamber.inc +++ b/data/scripts/maps/Underwater_SealedChamber.inc @@ -5,9 +5,9 @@ Underwater_SealedChamber_MapScripts:: @ 815F080 Underwater_SealedChamber_MapScript1_15F086:: @ 815F086 getplayerxy VAR_SPECIAL_4, VAR_SPECIAL_5 compare VAR_SPECIAL_4, 12 - goto_if 5, Underwater_SealedChamber_EventScript_15F0A6 + goto_if_ne Underwater_SealedChamber_EventScript_15F0A6 compare VAR_SPECIAL_5, 44 - goto_if 5, Underwater_SealedChamber_EventScript_15F0A6 + goto_if_ne Underwater_SealedChamber_EventScript_15F0A6 goto Underwater_SealedChamber_EventScript_15F0AF Underwater_SealedChamber_EventScript_15F0A6:: @ 815F0A6 diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc index ffd184ddf..44b9463b4 100644 --- a/data/scripts/maps/UnknownMap_25_34.inc +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -14,15 +14,15 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595 LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5 special ScriptGetMultiplayerId compare RESULT, 0 - call_if 1, LinkContestRoom1_EventScript_15F5E0 + call_if_eq LinkContestRoom1_EventScript_15F5E0 compare RESULT, 1 - call_if 1, LinkContestRoom1_EventScript_15F5E4 + call_if_eq LinkContestRoom1_EventScript_15F5E4 compare RESULT, 2 - call_if 1, LinkContestRoom1_EventScript_15F5E8 + call_if_eq LinkContestRoom1_EventScript_15F5E8 compare RESULT, 3 - call_if 1, LinkContestRoom1_EventScript_15F5EC + call_if_eq LinkContestRoom1_EventScript_15F5EC compare RESULT, 4 - call_if 1, LinkContestRoom1_EventScript_15F5F0 + call_if_eq LinkContestRoom1_EventScript_15F5F0 return LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0 @@ -47,7 +47,7 @@ LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0 LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4 compare VAR_TEMP_9, 1 - call_if 1, LinkContestRoom1_EventScript_15F600 + call_if_eq LinkContestRoom1_EventScript_15F600 end LinkContestRoom1_EventScript_15F600:: @ 815F600 @@ -76,7 +76,7 @@ LinkContestRoom1_EventScript_15F630:: @ 815F630 call LinkContestRoom1_EventScript_15F6E6 call LinkContestRoom1_EventScript_15F646 compare VAR_TEMP_0, 8 - goto_if 0, LinkContestRoom1_EventScript_15F630 + goto_if_lt LinkContestRoom1_EventScript_15F630 return LinkContestRoom1_EventScript_15F646:: @ 815F646 diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc index ca2a3c245..c8adf85c3 100644 --- a/data/scripts/maps/VerdanturfTown.inc +++ b/data/scripts/maps/VerdanturfTown.inc @@ -11,8 +11,7 @@ VerdanturfTown_MapScript1_14E85A:: @ 814E85A VerdanturfTown_EventScript_14E866:: @ 814E866 lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_if_eq VerdanturfTown_EventScript_14E885 + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_14E885 msgbox VerdanturfTown_Text_16CAEB, 4 applymovement 2, VerdanturfTown_Movement_1A083D waitmovement 0 @@ -37,8 +36,7 @@ VerdanturfTown_EventScript_14E8A2:: @ 814E8A2 VerdanturfTown_EventScript_14E8AB:: @ 814E8AB lock faceplayer - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_if_eq VerdanturfTown_EventScript_14E8C0 + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_14E8C0 msgbox VerdanturfTown_Text_16CD4D, 4 release end diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc index 37811dbc1..85b524c99 100644 --- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc +++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc @@ -101,8 +101,7 @@ VerdanturfTown_ContestLobby_EventScript_153E3E:: @ 8153E3E VerdanturfTown_ContestLobby_EventScript_153E47:: @ 8153E47 lock faceplayer - checkflag FLAG_RECEIVED_TM45 - goto_if_eq VerdanturfTown_ContestLobby_EventScript_153E76 + goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_ContestLobby_EventScript_153E76 msgbox VerdanturfTown_ContestLobby_Text_177DEC, 4 giveitem_std ITEM_TM45 compare RESULT, 0 diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc index 205a4315c..4410beaba 100644 --- a/data/scripts/maps/VerdanturfTown_WandasHouse.inc +++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc @@ -4,8 +4,7 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 8153F5A VerdanturfTown_WandasHouse_EventScript_153F5B:: @ 8153F5B lock faceplayer - checkflag FLAG_WALLY_SPEECH - goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F73 + goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_153F73 msgbox VerdanturfTown_WandasHouse_Text_1783F6, 4 setflag FLAG_WALLY_SPEECH release @@ -19,10 +18,8 @@ VerdanturfTown_WandasHouse_EventScript_153F73:: @ 8153F73 VerdanturfTown_WandasHouse_EventScript_153F7D:: @ 8153F7D lock faceplayer - checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD - goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FA5 - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F9B + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_153FA5 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_153F9B msgbox VerdanturfTown_WandasHouse_Text_17859A, 4 release end @@ -44,10 +41,8 @@ VerdanturfTown_WandasHouse_EventScript_153FAF:: @ 8153FAF VerdanturfTown_WandasHouse_EventScript_153FB8:: @ 8153FB8 lock faceplayer - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FE0 - checkflag FLAG_DEFEATED_WALLY_MAUVILLE - goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FD6 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_153FE0 + goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_153FD6 msgbox VerdanturfTown_WandasHouse_Text_1787FB, 4 release end @@ -65,12 +60,9 @@ VerdanturfTown_WandasHouse_EventScript_153FE0:: @ 8153FE0 VerdanturfTown_WandasHouse_EventScript_153FEA:: @ 8153FEA lock faceplayer - checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD - goto_if_eq VerdanturfTown_WandasHouse_EventScript_154025 - checkflag FLAG_DEFEATED_LAVARIDGE_GYM - goto_if_eq VerdanturfTown_WandasHouse_EventScript_15401B - checkflag FLAG_RUSTURF_TUNNEL_OPENED - goto_if_eq VerdanturfTown_WandasHouse_EventScript_154011 + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_154025 + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_15401B + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_154011 msgbox VerdanturfTown_WandasHouse_Text_1788B1, 4 release end diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc index ed0440343..4f3180318 100644 --- a/data/scripts/maps/VictoryRoad_1F.inc +++ b/data/scripts/maps/VictoryRoad_1F.inc @@ -3,8 +3,7 @@ VictoryRoad_1F_MapScripts:: @ 815DE83 .byte 0 VictoryRoad_1F_MapScript1_15DE89:: @ 815DE89 - checkflag FLAG_DEFEATED_WALLY_VICTORY_ROAD - call_if 1, VictoryRoad_1F_EventScript_15DE93 + call_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VictoryRoad_1F_EventScript_15DE93 end VictoryRoad_1F_EventScript_15DE93:: @ 815DE93 diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index b02ab4faa..4813caa68 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -1,8 +1,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B14:: @ 81B1B14 lock faceplayer - checkflag FLAG_SYS_CHAT_USED - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB + goto_if_set FLAG_SYS_CHAT_USED, PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB msgbox PetalburgCity_PokemonCenter_1F_Text_1B1C97, 4 goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D end @@ -30,7 +29,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B7A:: @ 81B1B7A lock faceplayer compare VAR_SPECIAL_4, 1 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 compare RESULT, 0 goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 compare RESULT, 1 @@ -84,7 +83,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C36:: @ 81B1C36 lock faceplayer compare VAR_SPECIAL_4, 1 - call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 compare RESULT, 0 goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 compare RESULT, 1 @@ -97,10 +96,8 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D end PetalburgCity_PokemonCenter_1F_EventScript_1B1C77:: @ 81B1C77 - checkflag FLAG_BADGE05_GET - goto_if 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 - checkflag FLAG_SYS_EXDATA_ENABLE - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 + goto_if_unset FLAG_BADGE05_GET, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 + goto_if_set FLAG_SYS_EXDATA_ENABLE, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 setflag FLAG_SYS_EXDATA_ENABLE msgbox PetalburgCity_PokemonCenter_1F_Text_1B21CC, 3 release diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index b1ead4060..3d8f5532f 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -9,9 +9,9 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6956:: @ 81B6956 applymovement VAR_SPECIAL_4, LittlerootTown_BrendansHouse_1F_Movement_1A0839 waitmovement 0 compare VAR_SPECIAL_5, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B699F compare VAR_SPECIAL_5, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B69AA msgbox LittlerootTown_BrendansHouse_1F_Text_172453, 4 closemessage setvar VAR_LITTLEROOT_INTRO_STATE, 4 @@ -59,8 +59,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1B69DF:: @ 81B69DF LittlerootTown_BrendansHouse_2F_EventScript_1B69EB:: @ 81B69EB LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB - checkflag FLAG_SET_WALL_CLOCK - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91 + goto_if_set FLAG_SET_WALL_CLOCK, LittlerootTown_BrendansHouse_2F_EventScript_1B6A91 msgbox LittlerootTown_BrendansHouse_2F_Text_172E18, 4 call LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B delay 30 @@ -70,9 +69,9 @@ LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB setflag FLAG_HIDE_MACHOKE_MOVER_2 checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A31 compare RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61 + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A61 playse SE_KAIDAN removeobject VAR_SPECIAL_8 releaseall @@ -256,14 +255,12 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BE9:: @ 81B6BE9 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 compare VAR_LITTLEROOT_HOUSES_STATE_2, 4 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 - checkflag FLAG_BADGE05_GET - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D - checkflag FLAG_RESCUED_BIRCH - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 + goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D + goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 compare VAR_TEMP_1, 1 goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80 compare VAR_LITTLEROOT_INTRO_STATE, 7 - goto_if 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C + goto_if_ge LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4 release end @@ -274,8 +271,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C33:: @ 81B6C33 end LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D - checkflag FLAG_RECEIVED_AMULET_COIN - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 + goto_if_set FLAG_RECEIVED_AMULET_COIN, LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 msgbox LittlerootTown_BrendansHouse_1F_Text_172782, 4 giveitem_std ITEM_AMULET_COIN compare RESULT, 0 @@ -363,13 +359,13 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE lockall checkplayergender compare RESULT, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD compare RESULT, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E28 applymovement VAR_SPECIAL_9, LittlerootTown_BrendansHouse_1F_Movement_1A0839 waitmovement 0 playse SE_PIN @@ -379,23 +375,23 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE waitmovement 0 delay 20 compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8 msgbox LittlerootTown_BrendansHouse_1F_Text_17298B, 4 giveitem_std ITEM_SS_TICKET msgbox LittlerootTown_BrendansHouse_1F_Text_172A7D, 4 closemessage compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE msgbox LittlerootTown_BrendansHouse_1F_Text_172B5E, 4 closemessage compare VAR_SPECIAL_8, 0 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9 compare VAR_SPECIAL_8, 1 - call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B playse SE_DOOR removeobject VAR_SPECIAL_9 setflag FLAG_RECEIVED_SS_TICKET diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 589d4e21c..4b21aa99b 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -55,7 +55,7 @@ FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1 msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4 specialvar RESULT, GetFirstFreePokeblockSlot compare RESULT, -1 - goto_if 5, FallarborTown_ContestLobby_EventScript_1B76EF + goto_if_ne FallarborTown_ContestLobby_EventScript_1B76EF compare RESULT, -1 goto_if_eq FallarborTown_ContestLobby_EventScript_1B7776 end @@ -76,8 +76,7 @@ FallarborTown_ContestLobby_EventScript_1B76EF:: @ 81B76EF FallarborTown_ContestLobby_EventScript_1B770E:: @ 81B770E msgbox FallarborTown_ContestLobby_Text_1B6FF0, 4 dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_FALLARBOR - goto_if_eq FallarborTown_ContestLobby_EventScript_1B774F + goto_if_set FLAG_DAILY_RECEIVED_BERRY_FALLARBOR, FallarborTown_ContestLobby_EventScript_1B774F goto FallarborTown_ContestLobby_EventScript_1B7759 end @@ -162,8 +161,7 @@ FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC FallarborTown_ContestLobby_EventScript_1B77E6:: @ 81B77E6 dodailyevents - checkflag FLAG_DAILY_RECEIVED_BERRY_FALLARBOR - goto_if_eq FallarborTown_ContestLobby_EventScript_1B77F6 + goto_if_set FLAG_DAILY_RECEIVED_BERRY_FALLARBOR, FallarborTown_ContestLobby_EventScript_1B77F6 goto FallarborTown_ContestLobby_EventScript_1B7800 end @@ -216,7 +214,7 @@ VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B goto_if_eq FallarborTown_ContestLobby_EventScript_1B7942 specialvar RESULT, GetFirstFreePokeblockSlot compare RESULT, -1 - goto_if 5, FallarborTown_ContestLobby_EventScript_1B7878 + goto_if_ne FallarborTown_ContestLobby_EventScript_1B7878 compare RESULT, -1 goto_if_eq FallarborTown_ContestLobby_EventScript_1B7938 end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index f41fd1f8c..d34b357ea 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -44,7 +44,7 @@ gUnknown_081C346A:: @ 81C346A lockall special SafariZoneGetPokeblockNameInFeeder compare RESULT, 0xFFFF - goto_if 5, EventScript_1C34A9 + goto_if_ne EventScript_1C34A9 msgbox UnknownString_81C354E, MSGBOX_YESNO compare RESULT, YES goto_if_eq EventScript_1C348E @@ -56,7 +56,7 @@ EventScript_1C348E: special OpenPokeblockCaseOnFeeder waitstate compare RESULT, 0xFFFF - goto_if 5, EventScript_1C34A0 + goto_if_ne EventScript_1C34A0 end EventScript_1C34A0: diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 2a5905191..1f5e074d9 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -17,11 +17,11 @@ Route111_EventScript_1A3877:: @ 81A3877 setflag FLAG_RECEIVED_SECRET_POWER clearflag FLAG_HIDE_TM_SALESMAN_SLATEPORT compare FACING, 3 - call_if 1, Route111_EventScript_1A38C3 + call_if_eq Route111_EventScript_1A38C3 compare FACING, 4 - call_if 1, Route111_EventScript_1A38C3 + call_if_eq Route111_EventScript_1A38C3 compare FACING, 2 - call_if 1, Route111_EventScript_1A38CE + call_if_eq Route111_EventScript_1A38CE removeobject LAST_TALKED release end diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index cf82cf943..5a84a1b48 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -7,10 +7,8 @@ Event_TV:: @ 81A6E72 goto_if_eq EventScript_1A6F01 compare RESULT, 1 goto_if_eq EventScript_1A6F0B - checkflag FLAG_SYS_TV_START - goto_if 0, EventScript_1A6EF1 - checkflag FLAG_SYS_TV_WATCH - goto_if_eq EventScript_1A6EF1 + goto_if_unset FLAG_SYS_TV_START, EventScript_1A6EF1 + goto_if_set FLAG_SYS_TV_WATCH, EventScript_1A6EF1 specialvar RESULT, IsTVShowInSearchOfTrainersAiring compare RESULT, 1 goto_if_eq EventScript_1A6F66 @@ -27,7 +25,7 @@ EventScript_1A6EBB: copyvar VAR_SPECIAL_4, RESULT specialvar RESULT, GetTVShowType compare RESULT, 0 - goto_if 5, EventScript_1A6F21 + goto_if_ne EventScript_1A6F21 end EventScript_1A6EF1: @@ -60,7 +58,7 @@ EventScript_1A6F21: waitmessage waitbuttonpress compare RESULT, 1 - goto_if 5, EventScript_1A6F21 + goto_if_ne EventScript_1A6F21 goto EventScript_1A6F37 end diff --git a/data/specials.inc b/data/specials.inc index 032a3884c..6904a2b6b 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -159,7 +159,7 @@ gSpecials:: def_special GetRivalSonDaughterString def_special SetFlagInVar def_special CableCarWarp - def_special sub_8123218 + def_special CableCar def_special Overworld_PlaySpecialMapMusic def_special StartWallClock def_special ScrSpecial_ViewWallClock diff --git a/de_after.sh b/de_after.sh index 8c39f765a..8c39f765a 100644..100755 --- a/de_after.sh +++ b/de_after.sh diff --git a/de_before.sh b/de_before.sh index a68790143..392726948 100644..100755 --- a/de_before.sh +++ b/de_before.sh @@ -1,4 +1,3 @@ -cp override-de.mk -rsync -avhI asm-de/ asm/ +cp override-de.mk override.mk rsync -avhI data-de/ data/ rsync -avhI graphics-de/ graphics/ diff --git a/include/battle.h b/include/battle.h index 0881cf82c..0824fc46c 100644 --- a/include/battle.h +++ b/include/battle.h @@ -368,16 +368,6 @@ struct Struct2017100 u32 arr[4]; }; -struct Struct2019348 -{ - u16 unk0; - u16 unk2; - u8 unk4; - u32 unk8; - u32 unkC; - u32 unk10; -}; - struct Struct2017800 { u8 invisible:1; diff --git a/include/cable_car_util.h b/include/cable_car_util.h new file mode 100644 index 000000000..7126331a1 --- /dev/null +++ b/include/cable_car_util.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CABLE_CAR_UTIL_H +#define GUARD_CABLE_CAR_UTIL_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void CableCarUtil_FillWrapped(void *dest, u16 value, u8 x, u8 y, u8 width, u8 height); +void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 x, u8 y, u8 width, u8 height); + +#endif //GUARD_CABLE_CAR_UTIL_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index 12350aebe..215dac48c 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_EASY_CHAT_H #define GUARD_CONSTANTS_EASY_CHAT_H -#define EC_GROUP_POKEMON 0x0 +#define EC_GROUP_POKEMON_1 0x0 #define EC_GROUP_TRAINER 0x1 #define EC_GROUP_STATUS 0x2 #define EC_GROUP_BATTLE 0x3 @@ -1053,7 +1053,7 @@ #define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f #define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 -#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) +#define EC_POKEMON(mon) ((EC_GROUP_POKEMON_1 << 9) | SPECIES_##mon) #define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) #define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) #define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) diff --git a/include/contest.h b/include/contest.h index 10392c00e..6e71358a2 100644 --- a/include/contest.h +++ b/include/contest.h @@ -87,4 +87,171 @@ bool8 Contest_SaveWinner(u8); u8 sub_80B2C4C(u8, u8); void Contest_ResetWinners(void); +// Contest Shared EWRAM + +struct Shared18000 +{ + /*0x18000*/ u8 unk18000; + /*0x18001*/ u8 filler18001[3]; + /*0x18004*/ u16 unk18004[16][16]; + /*0x18204*/ u16 unk18204[0x200]; + /*0x18604*/ u16 unk18604[0x200]; + /*0x18A04*/ u8 unk18A04[0x800]; +}; + +struct Contest +{ + /*0x19204*/ u8 playerMoveChoice; + /*0x19205*/ u8 turnNumber; + /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function + /*0x1920A*/ u16 unk1920A_0:1; // Task active flags? + u16 unk1920A_1:1; + u16 unk1920A_2:1; + u16 unk1920A_3:1; + u16 unk1920A_4:1; + u16 unk1920A_5:1; + u16 unk1920A_6:1; + u16 unk1920A_7:1; + /*0x1920B*/ u16 unk1920B_0:1; + u16 unk1920B_1:1; + u16 unk1920B_2:1; + /*0x1920C*/ u8 mainTaskId; + /*0x1920D*/ u8 unk1920D[4]; + /*0x19211*/ u8 unk19211; + /*0x19212*/ u8 unk19212; + /*0x19213*/ u8 filler19213; + /*0x19214*/ u8 unk19214; + /*0x19215*/ u8 unk19215; + /*0x19216*/ u8 unk19216; // sprite ID + /*0x19217*/ s8 applauseLevel; + /*0x19218*/ u8 unk19218[4]; + /*0x1921C*/ u32 unk1921C; // saved RNG value? + u16 unk19220[5][4]; // move history? + u8 unk19248[5][4]; // excitement history + u8 applauseMeterSpriteId; // sprite ID + /*0x1925D*/ u8 unk1925D; + /*0x1925E*/ u8 unk1925E; +}; + +struct ContestantStatus +{ + s16 appeal1; // move appeal? + s16 appeal2; // final appeal after end of turn, maybe? + s16 unk4; + u16 currMove; + u16 prevMove; + u8 moveCategory; + u8 unkB_0:2; + u8 unkB_2:2; + u8 moveRepeatCount:3; + u8 unkB_7:1; // used a one-time move? + u8 unkC_0:1; + u8 unkC_1:2; + s8 unkD; + u8 unkE; + u8 unkF; + u8 unk10_0:1; + u8 unk10_1:1; + u8 unk10_2:1; + u8 unk10_3:1; + u8 unk10_4:2; + u8 unk10_6:2; + u8 unk11_0:2; + u8 unk11_2:1; + u8 unk11_3:1; + u8 unk11_4:1; + u8 unk11_5:1; + u8 unk12; + u8 unk13; // status action? + u8 unk14; + u8 disappointedRepeat:1; + u8 unk15_1:1; + u8 unk15_2:1; + u8 unk15_3:1; + u8 unk15_4:1; + u8 unk15_5:1; + u8 unk15_6:1; + u8 unk16; + u8 unk17; + u8 unk18; + u8 unk19; // turn position + u8 attentionLevel; // How much the Pokemon "stood out" + u8 unk1B; +}; + +struct UnknownContestStruct3 +{ + u8 unk0; + u8 unk1; + //u8 unk2_0:1; + //u8 unk2_1:1; + u8 unk2; // maybe a bitfield + u8 filler3; +}; + +// possibly the same as UnknownContestStruct3? +struct UnknownContestStruct4 +{ + u8 unk0; // sprite ID + u8 unk1; // sprite ID + u8 unk2_0:1; + u8 unk2_1:1; + u8 unk2_2:1; + u8 filler3; +}; + +struct UnknownContestStruct5 +{ + s8 bits_0; // current move excitement? + u8 bits_8:1; + u8 bits_9:3; + u8 bits_C:4; + s8 unk2; + u8 filler3; +}; + +struct UnknownContestStruct7 +{ + u8 unk0[4]; + u16 unk4; + u16 unk6; + u8 filler8[0xD-8]; + u8 unkD[4]; + u8 unk11; + u8 filler12[2]; +}; + +struct UnknownContestStruct8 +{ + u16 unk0; + u16 unk2; + u8 unk4_0:1; + u8 unk5; + u8 filler6[2]; + u32 unk8; + u32 unkC; + u32 unk10; +}; + +struct UnknownContestStruct6 +{ + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; +}; + +#define shared15800 (gSharedMem + 0x15800) +#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0)) +#define shared16800 (gSharedMem + 0x16800) +#define shared18000 (*(struct Shared18000 *)(gSharedMem + 0x18000)) +#define shared18004 ((u16 *)(gSharedMem + 0x18004)) +#define sContest (*(struct Contest *)(gSharedMem + 0x19204)) +#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260)) +#define shared192D0 (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0)) +#define shared192E4 (gSharedMem + 0x192E4) +#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328)) +#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338)) +#define shared19348 (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348)) + #endif // GUARD_CONTEST_H diff --git a/include/dewford_trend.h b/include/dewford_trend.h index c12d0d740..16b2bdd75 100644 --- a/include/dewford_trend.h +++ b/include/dewford_trend.h @@ -2,6 +2,7 @@ #define GUARD_DEWFORDTREND_H void InitDewfordTrend(void); +bool8 sub_80FA364(u16 *a); void sub_80FA4E4(void *, u32, u8); void UpdateDewfordTrendPerDay(u16); diff --git a/include/easy_chat.h b/include/easy_chat.h index a6277fba8..a70d7ad0c 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -1,8 +1,126 @@ #ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H +struct Sprite; + +struct UnknownEasyChatStruct1 +{ + u16 unk0; + u16 unk2; + u16 unk4; + u16 unk6; + void *unk8; +}; + +struct Shared1000 +{ + void (*unk0)(void); // main cb 2 + u16 *unk4; + u8 unk8; + u8 unk9; + u8 unkA; // length of unkC array + u8 unkB; // reporter talked to (Gabby or Ty) + u16 unkC[9]; + void (*unk20)(void); + u16 unk24; + u8 unk26; + u8 unk27; + u16 unk28; + u8 unk2A[11][2]; + u8 unk40[4][14]; + u8 unk78[5]; + u8 unk7D; + u8 unk7E[5]; + s8 unk83; + s8 unk84; + s8 unk85; + s8 unk86; + bool8 unk87; + u16 unk88; + u16 unk8A; + u8 unk8C[(0x96-0x8C)/2][2]; + u8 unk96; + u8 filler97; + struct Sprite *unk98; + struct Sprite *unk9C; + struct Sprite *unkA0; + struct Sprite *unkA4; + struct Sprite *unkA8; + struct Sprite *unkAC[2]; + struct Sprite *unkB4[2]; + u8 unkBC; + u8 fillerBD; + u16 unkBE; + u8 fillerC0[2]; + u16 unkC2; // length of unkC8 and unk148 arrays + u16 unkC4; + u8 fillerC6[2]; + u16 unkC8[(0x148-0xC8)/16][8]; + struct UnknownEasyChatStruct1 unk148[(0x1A8-0x148)/12]; + s8 unk1A8; + s8 unk1A9; + s8 unk1AA[0xB5-0xAA]; + s8 unk1B5; + s8 unk1B6; + s8 unk1B7; + u8 unk1B8; + u8 unk1B9; + u16 unk1BA; + u16 unk1BC; + u8 unk1BE; + s8 unk1BF; + s8 unk1C0; + u8 filler1C1[3]; + void (*unk1C4)(void); + u8 unk1C8[0x500]; + u8 unk6C8[0xB78-0x6C8]; +#if GERMAN + u16 unkB78[27][270]; +#else + u16 unkB78[27][255]; +#endif + u16 unk4142[(0x78-0x42)/2]; //0x446C + u16 unk4178[(0x41A4-0x4178)/2]; // unknown length + const u8 *ecWordStrings[0x16][0x100]; //0x44CE in german + s8 unk99A4; + s8 unk99A5; + s8 unk99A6[130]; + s8 unk9A28; + s8 unk9A29; + u16 unk9A2A[(0x9C32-0x9A2A)/4][2]; // unknown length + u8 unk9C32; + u8 filler9C33; + u16 unk9C34[3][9]; + u8 filler9C6A[2]; + s8 *unk9C6C; + u8 unk9C70; + s8 unk9C71; + u8 filler9C72[2]; + struct Sprite *unk9C74; + u8 filler9C78[4]; + u16 unk9C7C; // this is at 0x9FA8 in German + s16 unk9C7E; + u8 unk9C80[0xC9-0x80]; + u8 unk9CC9[0xD12-0xCC9]; + u8 unk9D12[0x5B-0x12]; + u8 unk9D5B[0xA4-0x5B]; + u8 unk9DA4[0xC9-0xA4]; + u8 unk9DC9[0xE14 - 0xDC9]; + u8 unk9E14[0xE41 - 0xE14]; + u8 unk9E41[0x6E - 0x41]; + u8 unk9E6E[0xEE - 0x6E]; + u8 unk9EEE[0xF6E - 0xEEE]; + u8 unk9F6E[0x8E - 0x6E]; // unknown length + u8 unk9F8E[7]; // unknown length +}; + extern u8 gUnknown_020388AC; +extern u8 gUnknown_03000740; + +// const pointer to shared1000. easy_chat might be two separate files. +extern struct Shared1000 *const gEasyChatStruct; +void sub_80E62A0(u8 arg0, u16 *arg1, void (*arg2)(void), u8 arg3); u16 sub_80EB72C(u16 group); void sub_80EB6FC(u16 *, u16); void InitEasyChatPhrases(void); @@ -19,7 +137,7 @@ u16 sub_80EB8EC(void); u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3); #if GERMAN -u32 de_sub_80EB748(u32, u32); +u32 de_sub_80EB748(s32, s32); #endif #endif // GUARD_EASYCHAT_H diff --git a/include/ewram.h b/include/ewram.h index 5a350840a..07f9d1ad2 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -185,6 +185,7 @@ extern u8 gSharedMem[]; #define ewram17000 (&gSharedMem[0x17000]) #define eLearnMoveStruct (struct LearnMoveStruct *)(gSharedMem + 0x17000) #define eSecretBaseRecord ((struct SecretBaseRecord *)(gSharedMem + 0x17000)) +#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000)) #define ewram17002 (&gSharedMem[0x17002]) #define eFlashFireArr (*(struct Struct2017100 *)(gSharedMem + 0x17100)) #define B_BATTLESCRIPTS_STACK ((struct scriptsStack *) (gSharedMem + 0x17110)) @@ -213,9 +214,9 @@ extern u8 gSharedMem[]; #define ewram18800 (&gSharedMem[0x18800]) #define ePokedexView2 (struct PokedexView *)(gSharedMem + 0x18800) #define ewram19000 (&gSharedMem[0x19000]) +#define eCableCar2 ((struct CableCarEwramStruct2 *)(gSharedMem + 0x19000)) #define ePokedexView3 (struct PokedexView *)(gSharedMem + 0x19000) #define EWRAM_19348 (*(u16 *)(gSharedMem + 0x19348)) -#define ewram19348 (*(struct Struct2019348 *)(gSharedMem + 0x19348)) #define ewram19800 (&gSharedMem[0x19800]) #define ePokedexView4 (struct PokedexView *)(gSharedMem + 0x19800) #define ewram1A000 (&gSharedMem[0x1A000]) diff --git a/include/field_map_obj.h b/include/field_map_obj.h index f0b0bb5ab..cf3be36b2 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -337,7 +337,7 @@ void RemoveFieldObjectInternal(struct MapObject *); u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); u8 show_sprite(u8, u8, u8); void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables); -u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c, s16 d, u8 subpriority); +u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 sub_805B410(u8, u8, s16, s16, u8, u8); void sub_805B55C(s16 a, s16 b); void sub_805B710(u16 i, u16 i1); diff --git a/include/field_weather.h b/include/field_weather.h index c96d4055e..267650a2a 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -163,4 +163,8 @@ bool8 sub_807DDFC(void); void SetWeather(u32); void UpdateWeatherPerDay(u16); +extern struct Weather gWeather; + +extern struct Weather *const gWeatherPtr; + #endif // GUARD_WEATHER_H diff --git a/include/gba/macro.h b/include/gba/macro.h index d9e6739b3..dcad009e1 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -87,7 +87,7 @@ #define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \ { \ const void *_src = src; \ - void *_dest = dest; \ + void *_dest = (void *)(dest); \ u32 _size = size; \ while (1) \ { \ @@ -129,7 +129,7 @@ #define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ { \ const void *_src = src; \ - void *_dest = dest; \ + void *_dest = (void *)(dest); \ u32 _size = size; \ DmaCopy##bit(dmaNum, _src, _dest, _size); \ } @@ -137,4 +137,34 @@ #define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) #define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) +#define DmaFillLarge(dmaNum, fillval, dest, size, block, bit) \ +{ \ + void *_dest = (void *)(dest); \ + u32 _size = (u32)(size); \ + while (1) \ + { \ + DmaFill##bit(dmaNum, fillval, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, fillval, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaFill16Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 16) +#define DmaFill32Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 32) + +#define DmaFillDefvars(dmaNum, fillval, dest, size, bit) \ +{ \ + void *_dest = (void *)(dest); \ + u32 _size = (u##bit)(size); \ + DmaFill##bit(dmaNum, fillval, _dest, _size); \ +} + +#define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16) +#define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32) + #endif // GUARD_GBA_MACRO_H diff --git a/include/global.h b/include/global.h index 9c7a4fc08..4c118db13 100644 --- a/include/global.h +++ b/include/global.h @@ -15,9 +15,9 @@ #define INCBIN_S8 {0} #define INCBIN_S16 {0} #define INCBIN_S32 {0} -void * memcpy (void *, const void *, size_t); -void * memset (void *, int, size_t); -int strcmp (const char *, const char *); +void *memcpy (void *, const void *, size_t); +void *memset (void *, int, size_t); +int strcmp (const char *, const char *); #endif // Prevent cross-jump optimization. @@ -34,7 +34,7 @@ int strcmp (const char *, const char *); #define POKEMON_NAME_LENGTH 10 #define OT_NAME_LENGTH 7 -#define min(a, b) ((a) <= (b) ? (a) : (b)) +#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) // why does GF hate 2d arrays @@ -683,7 +683,7 @@ struct SaveBlock1 /* 0x02025734 */ /*0x2B40*/ u16 unk2B40[6]; } easyChats; /*0x2B4C*/ struct MailStruct mail[16]; - /*0x2D8C*/ u8 unk2D8C[4]; + /*0x2D8C*/ u8 unk2D8C[4]; // What is this? Apparently it's supposed to be 64 bytes in size. /*0x2D90*/ u8 filler_2D90[0x4]; /*0x2D94*/ union MauvilleMan mauvilleMan; /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff @@ -844,5 +844,6 @@ struct HallOfFame extern struct HallOfFame gHallOfFame; extern struct SaveBlock2 gSaveBlock2; +extern u8 ewram[]; #endif // GUARD_GLOBAL_H diff --git a/include/graphics.h b/include/graphics.h index 17abb840e..00a210350 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2656,22 +2656,33 @@ extern const u8 gNamingScreenRightPointingTriangleTiles[]; extern const u8 gNamingScreenUnderscoreTiles[]; extern const u16 gNamingScreenPalettes[][16]; -extern const u8 gSpriteImage_8E988E8[]; -extern const u8 gSpriteImage_8E98968[]; -extern const u8 gSpriteImage_8E989E8[]; -extern const u8 gSpriteImage_8E98A68[]; -extern const u8 gSpriteImage_8E98AE8[]; -extern const u8 gSpriteImage_8E98B68[]; -extern const u8 gSpriteImage_8E991E8[]; -extern const u8 gSpriteImage_8E99808[]; -extern const u8 gSpriteImage_8E98BE8[]; -extern const u8 gSpriteImage_8E98CE8[]; -extern const u8 gSpriteImage_8E993E8[]; -extern const u8 gSpriteImage_8E98DE8[]; -extern const u8 gSpriteImage_8E98FE8[]; -extern const u8 gSpriteImage_8E98848[]; -extern const u8 gSpriteImage_8E98868[]; -extern const u8 gSpriteImage_8E98828[]; +extern const u8 gMenuWordGroupIndicator_Gfx[]; +extern const u8 gMenuWordGroupFrame_Gfx[]; +extern const u16 gMenuWordGroupIndicator_Pal[]; +extern const u16 gMenuWordGroupFrame1_Pal[]; +extern const u16 gMenuWordGroupFrame2_Pal[]; + +extern const u8 gUnknown_08E94510[]; +extern const u8 gUnknown_08E94550[]; +extern const u8 gUnknown_08E94590[]; +extern const u8 gUnknown_08E945D0[]; +extern const u8 gUnknown_08E94AD0[]; +extern const u8 gUnknown_08E953D0[]; +extern const u8 gUnknown_08E954B0[]; +extern const u8 gUnknown_08E95774[]; +extern const u16 gUnknown_08E95A18[]; +extern const u16 gUnknown_08E95AB8[]; +extern const u16 gUnknown_08E95FB8[]; + +extern const u16 gSlotMachineSpritePalette0[]; +extern const u16 gSlotMachineSpritePalette1[]; +extern const u16 gSlotMachineSpritePalette2[]; +extern const u16 gSlotMachineSpritePalette3[]; +extern const u16 gSlotMachineSpritePalette4[]; +extern const u16 gSlotMachineSpritePalette5[]; +extern const u16 gSlotMachineSpritePalette6[]; +extern const u8 gSlotMachine_Gfx[]; + extern const u8 gSlotMachineReelSymbol1Tiles[]; extern const u8 gSlotMachineReelSymbol2Tiles[]; extern const u8 gSlotMachineReelSymbol3Tiles[]; @@ -2689,18 +2700,47 @@ extern const u8 gSlotMachineNumber6Tiles[]; extern const u8 gSlotMachineNumber7Tiles[]; extern const u8 gSlotMachineNumber8Tiles[]; extern const u8 gSlotMachineNumber9Tiles[]; +extern const u8 gSpriteImage_8E98828[]; +extern const u8 gSpriteImage_8E98848[]; +extern const u8 gSpriteImage_8E98868[]; +extern const u8 gSpriteImage_8E988E8[]; +extern const u8 gSpriteImage_8E98968[]; +extern const u8 gSpriteImage_8E989E8[]; +extern const u8 gSpriteImage_8E98A68[]; +extern const u8 gSpriteImage_8E98AE8[]; +extern const u8 gSpriteImage_8E98B68[]; +extern const u8 gSpriteImage_8E98BE8[]; +extern const u8 gSpriteImage_8E98CE8[]; +extern const u8 gSpriteImage_8E98DE8[]; +extern const u8 gSpriteImage_8E98FE8[]; +extern const u8 gSpriteImage_8E991E8[]; +extern const u8 gSpriteImage_8E993E8[]; extern const u8 gUnknownPalette_08E997E8[]; -extern const u16 gSlotMachineSpritePalette0[]; -extern const u16 gSlotMachineSpritePalette1[]; -extern const u16 gSlotMachineSpritePalette2[]; -extern const u16 gSlotMachineSpritePalette3[]; -extern const u16 gSlotMachineSpritePalette4[]; -extern const u16 gSlotMachineSpritePalette5[]; -extern const u16 gSlotMachineSpritePalette6[]; -extern const u8 gSlotMachine_Gfx[]; +extern const u8 gSpriteImage_8E99808[]; extern const u8 gSlotMachineReelTimeLights_Gfx[]; -extern const u16 gUnknown_08E95A18[]; -extern const u16 gUnknown_08E95AB8[]; -extern const u16 gUnknown_08E95FB8[]; +extern const u8 gUnknown_08E99FB0[]; +extern const u8 gUnknown_08E9A100[]; +extern const u8 gUnknown_08E9A300[]; +extern const u8 gUnknown_08E9AB00[]; +extern const u8 gUnknown_08E9AB40[]; +extern const u8 gUnknown_08E9AB60[]; +extern const u8 gUnknown_08E9ABB4[]; +extern const u8 gUnknown_08E9AC2C[]; +extern const u8 gUnknown_08E9AC4C[]; + +extern const u8 gInterviewOutlineCursorTiles[]; +extern const u8 gTitleScreenPressStart_Gfx[]; +extern const u16 gTitleScreenLogoShinePalette[]; +extern const u8 gUnknown_08E9D8CC[]; +extern const u8 gVersionTiles[]; +extern const u16 gUnknown_08E9F624[]; +extern const u8 gUnknown_08E9F7E4[]; + +extern const u8 gCableCar_Gfx[]; +extern const u8 gCableCarDoor_Gfx[]; +extern const u8 gCableCarCord_Gfx[]; +extern const u16 gCableCar_Pal[]; +extern const u16 gCableCarBG_Pal[]; +extern const u8 gCableCarBG_Gfx[]; #endif // GUARD_GRAPHICS_H diff --git a/ld_script.txt b/ld_script.txt index aac5e8028..ba9ccddb9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -342,8 +342,8 @@ SECTIONS { asm/normal.o(.text); asm/battle_intro.o(.text); src/field/bike.o(.text); - asm/easy_chat.o(.text); - src/field/easy_chat.o(.text); + src/easy_chat_1.o(.text); + src/easy_chat_2.o(.text); src/pokenav_before.o(.text); asm/pokenav.o(.text); src/pokenav_after.o(.text); @@ -387,9 +387,9 @@ SECTIONS { src/battle/battle_controller_linkpartner.o(.text); src/battle/battle_message.o(.text); src/field/choose_party.o(.text); - asm/cable_car.o(.text); + src/scene/cable_car.o(.text); asm/roulette_util.o(.text); - asm/cable_car_util.o(.text); + src/engine/cable_car_util.o(.text); src/unused_8124F94.o(.text); src/engine/save.o(.text); src/engine/mystery_event_script.o(.text); @@ -613,6 +613,8 @@ SECTIONS { src/field/item_use.o(.rodata); data/battle_anim_80CA710.o(.rodata); src/field/bike.o(.rodata); + src/easy_chat_1.o(.rodata); + src/easy_chat_2.o(.rodata); data/easy_chat.o(.rodata); data/pokenav.o(.rodata); src/pokemon/mon_markings.o(.rodata); @@ -642,7 +644,7 @@ SECTIONS { src/battle/battle_controller_linkpartner.o(.rodata); src/battle/battle_message.o(.rodata); src/field/choose_party.o(.rodata); - data/cable_car.o(.rodata); + src/scene/cable_car.o(.rodata); src/engine/save.o(.rodata); src/field/field_effect_helpers.o(.rodata); data/contest_ai.o(.rodata); diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 7ca9ac3c4..e11971606 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -3,6 +3,7 @@ #include "battle_anim.h" #include "battle_interface.h" #include "blend_palette.h" +#include "contest.h" #include "data2.h" #include "decompress.h" #include "main.h" @@ -629,9 +630,9 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) if (IsContest()) { r10 = 0; - species = ewram19348.unk2; - personalityValue = ewram19348.unk8; - otId = ewram19348.unkC; + species = shared19348.unk2; + personalityValue = shared19348.unk8; + otId = shared19348.unkC; HandleLoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -639,7 +640,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) eVoidSharedArr2, gUnknown_081FAF4C[0], species, - ewram19348.unk10); + shared19348.unk10); } else { diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c index 0ae98af09..616a72d27 100644 --- a/src/battle/contest_link_80C857C.c +++ b/src/battle/contest_link_80C857C.c @@ -3,52 +3,33 @@ #if GERMAN -void de_sub_80C9274(bool32 arg0) { - if (deUnkValue2 != 1) - { - return; - } - - if (arg0) - { - deUnkValue2 = 3; - } - else +void de_sub_80C9274(bool32 arg0) +{ + if (deUnkValue2 == 1) { - deUnkValue2 = 2; + if (arg0) + deUnkValue2 = 3; + else + deUnkValue2 = 2; } } -void de_sub_80C9294(bool32 arg0) { +void de_sub_80C9294(bool32 arg0) +{ if (deUnkValue2 == 1) { if (arg0) - { deUnkValue2 = 3; - } else - { deUnkValue2 = 2; - } - - return; } - - - if (deUnkValue2 == 2) + else if (deUnkValue2 == 2) { SendBlock(0, sBlockRequestLookupTable[deUnkValue1].address, sBlockRequestLookupTable[deUnkValue1].size); - if (arg0) - { deUnkValue2 = 0; - } else - { deUnkValue2 = 1; - } - - return; } } diff --git a/src/contest.c b/src/contest.c index f5aab709d..365f92538 100644 --- a/src/contest.c +++ b/src/contest.c @@ -39,171 +39,6 @@ extern void sub_80C8C80(u8); extern void sub_81288F4(); extern u8 sub_8128944(void); -struct Shared18000 -{ - /*0x18000*/ u8 unk18000; - /*0x18001*/ u8 filler18001[3]; - /*0x18004*/ u16 unk18004[16][16]; - /*0x18204*/ u16 unk18204[0x200]; - /*0x18604*/ u16 unk18604[0x200]; - /*0x18A04*/ u8 unk18A04[0x800]; -}; - -struct Contest -{ - /*0x19204*/ u8 playerMoveChoice; - /*0x19205*/ u8 turnNumber; - /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function - /*0x1920A*/ u16 unk1920A_0:1; // Task active flags? - u16 unk1920A_1:1; - u16 unk1920A_2:1; - u16 unk1920A_3:1; - u16 unk1920A_4:1; - u16 unk1920A_5:1; - u16 unk1920A_6:1; - u16 unk1920A_7:1; - /*0x1920B*/ u16 unk1920B_0:1; - u16 unk1920B_1:1; - u16 unk1920B_2:1; - /*0x1920C*/ u8 mainTaskId; - /*0x1920D*/ u8 unk1920D[4]; - /*0x19211*/ u8 unk19211; - /*0x19212*/ u8 unk19212; - /*0x19213*/ u8 filler19213; - /*0x19214*/ u8 unk19214; - /*0x19215*/ u8 unk19215; - /*0x19216*/ u8 unk19216; // sprite ID - /*0x19217*/ s8 applauseLevel; - /*0x19218*/ u8 unk19218[4]; - /*0x1921C*/ u32 unk1921C; // saved RNG value? - u16 unk19220[5][4]; // move history? - u8 unk19248[5][4]; // excitement history - u8 applauseMeterSpriteId; // sprite ID - /*0x1925D*/ u8 unk1925D; - /*0x1925E*/ u8 unk1925E; -}; - -struct ContestantStatus -{ - s16 appeal1; // move appeal? - s16 appeal2; // final appeal after end of turn, maybe? - s16 unk4; - u16 currMove; - u16 prevMove; - u8 moveCategory; - u8 unkB_0:2; - u8 unkB_2:2; - u8 moveRepeatCount:3; - u8 unkB_7:1; // used a one-time move? - u8 unkC_0:1; - u8 unkC_1:2; - s8 unkD; - u8 unkE; - u8 unkF; - u8 unk10_0:1; - u8 unk10_1:1; - u8 unk10_2:1; - u8 unk10_3:1; - u8 unk10_4:2; - u8 unk10_6:2; - u8 unk11_0:2; - u8 unk11_2:1; - u8 unk11_3:1; - u8 unk11_4:1; - u8 unk11_5:1; - u8 unk12; - u8 unk13; // status action? - u8 unk14; - u8 disappointedRepeat:1; - u8 unk15_1:1; - u8 unk15_2:1; - u8 unk15_3:1; - u8 unk15_4:1; - u8 unk15_5:1; - u8 unk15_6:1; - u8 unk16; - u8 unk17; - u8 unk18; - u8 unk19; // turn position - u8 attentionLevel; // How much the Pokemon "stood out" - u8 unk1B; -}; - -struct UnknownContestStruct3 -{ - u8 unk0; - u8 unk1; - //u8 unk2_0:1; - //u8 unk2_1:1; - u8 unk2; // maybe a bitfield - u8 filler3; -}; - -// possibly the same as UnknownContestStruct3? -struct UnknownContestStruct4 -{ - u8 unk0; // sprite ID - u8 unk1; // sprite ID - u8 unk2_0:1; - u8 unk2_1:1; - u8 unk2_2:1; - u8 filler3; -}; - -struct UnknownContestStruct5 -{ - s8 bits_0; // current move excitement? - u8 bits_8:1; - u8 bits_9:3; - u8 bits_C:4; - s8 unk2; - u8 filler3; -}; - -struct UnknownContestStruct7 -{ - u8 unk0[4]; - u16 unk4; - u16 unk6; - u8 filler8[0xD-8]; - u8 unkD[4]; - u8 unk11; - u8 filler12[2]; -}; - -struct UnknownContestStruct8 -{ - u16 unk0; - u16 unk2; - u8 unk4_0:1; - u8 unk5; - u8 filler6[2]; - u32 unk8; - u32 unkC; - u32 unk10; -}; - -struct UnknownContestStruct6 -{ - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; -}; - -#define shared15800 (gSharedMem + 0x15800) -#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0)) -#define shared16800 (gSharedMem + 0x16800) -#define shared18000 (*(struct Shared18000 *)(gSharedMem + 0x18000)) -#define shared18004 ((u16 *)(gSharedMem + 0x18004)) -#define sContest (*(struct Contest *)(gSharedMem + 0x19204)) -#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260)) -#define shared192D0_ (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0)) -#define shared192E4 (gSharedMem + 0x192E4) -#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328)) -#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338)) -#define shared19348_ (*(struct UnknownContestStruct8 *)(gSharedMem + 0x19348)) - extern struct MusicPlayerInfo gMPlay_SE1; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; @@ -555,7 +390,7 @@ void ClearContestVars(void) sContestantStatus[i].unk14 = 0xFF; } - memset(&shared192D0_, 0, sizeof(shared192D0_)); + memset(&shared192D0, 0, sizeof(shared192D0)); memset(shared192E4, 0, 0x44 * sizeof(*shared192E4)); memset(&shared19328, 0, sizeof(shared19328)); memset(shared19338, 0, 4 * sizeof(*shared19338)); @@ -1063,7 +898,7 @@ void sub_80AC2CC(u8 taskId) { case 0: sub_80B0D7C(); - for (i = 0; sContest.unk19214 != shared192D0_.unk0[i]; i++) + for (i = 0; sContest.unk19214 != shared192D0.unk0[i]; i++) ; sContest.unk19215 = i; r7 = sContest.unk19215; @@ -1106,7 +941,7 @@ void sub_80AC2CC(u8 taskId) case 3: for (i = 0; i < 4; i++) gBattleMonForms[i] = 0; - memset(&shared19348_, 0, sizeof(shared19348_)); + memset(&shared19348, 0, sizeof(shared19348)); sub_80B28F0(sContest.unk19215); spriteId = sub_80AE9FC( gContestMons[sContest.unk19215].species, @@ -4528,13 +4363,13 @@ void sub_80B114C(u8 contestant) } sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; sContestantStatus[contestant].appeal2 = gContestEffects[effect].appeal; - shared192D0_.unk4 = gContestEffects[effect].jam; - shared192D0_.unk6 = gContestEffects[effect].jam; - shared192D0_.unk11 = contestant; + shared192D0.unk4 = gContestEffects[effect].jam; + shared192D0.unk6 = gContestEffects[effect].jam; + shared192D0.unk11 = contestant; for (i = 0; i < 4; i++) { sContestantStatus[i].unkE = 0; - shared192D0_.unkD[i] = 0; + shared192D0.unkD[i] = 0; } if (sContestantStatus[contestant].unk15_4 && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0) sContestantStatus[contestant].unk15_4 = 0; @@ -4637,13 +4472,13 @@ void sub_80B146C(u8 a, u8 b) { StringCopy(gStringVar1, gContestMons[a].nickname); StringCopy(gStringVar2, gMoveNames[sContestantStatus[a].currMove]); - if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL) + if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL) StringCopy(gStringVar3, gText_Contest_Shyness); - else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) + else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) StringCopy(gStringVar3, gText_Contest_Anxiety); - else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE) + else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE) StringCopy(gStringVar3, gText_Contest_Laziness); - else if (gContestMoves[sContestantStatus[shared192D0_.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART) + else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); @@ -4708,7 +4543,7 @@ void sub_80B159C(void) for (i = 0; i < 4; i++) { - shared192D0_.unk0[i] = sp0[i]; + shared192D0.unk0[i] = sp0[i]; sContestantStatus[i].unk19 = 0xFF; sContestantStatus[i].unk10_6 = 0; gUnknown_02038696[i] = sp0[i]; @@ -5083,7 +4918,7 @@ void sub_80B20C4(void) for (i = 0; i < 4; i++) { - if (shared192D0_.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i)) + if (shared192D0.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i)) { u8 r4 = gUnknown_02038696[i] * 5 + 2; u16 r0 = sub_80AEFE8(i, 3); @@ -5339,7 +5174,7 @@ void sub_80B2790(u8 a) u16 species = SanitizeSpecies(gContestMons[a].species); u8 r5_2; - memset(&shared19348_, 0, sizeof(shared19348_)); + memset(&shared19348, 0, sizeof(shared19348)); ClearBattleAnimationVars(); for (i = 0; i < 4; i++) gBattleMonForms[i] = 0; @@ -5354,9 +5189,9 @@ void sub_80B2790(u8 a) case MOVE_TRANSFORM: case MOVE_ROLE_PLAY: r5_2 = sContestantStatus[a].unk1B; - shared19348_.unk2 = SanitizeSpecies(gContestMons[r5_2].species); - shared19348_.unk10 = gContestMons[r5_2].personality; - shared19348_.unk4_0 = 1; + shared19348.unk2 = SanitizeSpecies(gContestMons[r5_2].species); + shared19348.unk10 = gContestMons[r5_2].personality; + shared19348.unk4_0 = 1; break; case MOVE_RETURN: gAnimFriendship = 0xFF; @@ -5384,17 +5219,17 @@ void sub_80B2790(u8 a) void sub_80B28CC(int unused) { - memset(&shared19348_, 0, sizeof(shared19348_)); + memset(&shared19348, 0, sizeof(shared19348)); if (sContest.unk1925E != 0) sContest.unk1925E--; } void sub_80B28F0(u8 a) { - shared19348_.unk5 = a; - shared19348_.unk0 = SanitizeSpecies(gContestMons[a].species); - shared19348_.unk8 = gContestMons[a].personality; - shared19348_.unkC = gContestMons[a].otId; + shared19348.unk5 = a; + shared19348.unk0 = SanitizeSpecies(gContestMons[a].species); + shared19348.unk8 = gContestMons[a].personality; + shared19348.unkC = gContestMons[a].otId; } void sub_80B292C(void) diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c index 53ad4a806..ad1cbf473 100644 --- a/src/de_rom_8040FE0.c +++ b/src/de_rom_8040FE0.c @@ -2,54 +2,33 @@ #include "battle.h" #include "battle_tower.h" #include "ewram.h" +#include "trainer.h" #if GERMAN -enum { - TRAINER_CLASS_NAME_LEADER = 25, - TRAINER_CLASS_NAME_SCHOOL_KID = 26, - TRAINER_CLASS_NAME_EXPERT = 30, - TRAINER_CLASS_NAME_POKEMON_TRAINER_3 = 46, -}; - -enum { - TRAINER_CLASS_LEADER_F = 26, - TRAINER_CLASS_ELITE_FOUR_F = 25, - TRAINER_CLASS_SCHOOL_KID_F = 30, - TRAINER_CLASS_BIRD_KEEPER = 46, - TRAINER_CLASS_MAY_1 = 61, - TRAINER_CLASS_MAY_2 = 62, - TRAINER_CLASS_MAY_3 = 63, -}; - extern u8 gTrainerClassNames[][13]; extern struct Trainer gTrainers[]; -u8 *de_sub_8040FE0(u8 gender) { +u8 *de_sub_8040FE0(u8 gender) +{ if (gender) - { gender++; - - } - gender = TRAINER_CLASS_NAME_SCHOOL_KID; return gTrainerClassNames[gender]; } -u8 *de_sub_8040FF4(u8 gender) { - if (gender) { +u8 *de_sub_8040FF4(u8 gender) +{ + if (gender) gender++; - } - gender = TRAINER_CLASS_NAME_POKEMON_TRAINER_3; return gTrainerClassNames[gender]; } -u8 *de_sub_804100C(u8 gender) { - if (gender) { +u8 *de_sub_804100C(u8 gender) +{ + if (gender) gender++; - } - gender = TRAINER_CLASS_NAME_LEADER; return gTrainerClassNames[gender]; } @@ -60,7 +39,8 @@ u8 de_sub_81364AC(void); u8 get_trainer_class_name_index(void); u8 de_sub_81364F8(void); -u8 *de_sub_8041024(s32 arg0, u32 arg1) { +u8 *de_sub_8041024(s32 arg0, u32 arg1) +{ u8 nameIndex, trainerClass, gender; struct Trainer *trainer; u8 local2; @@ -71,68 +51,39 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) { nameIndex = GetSecretBaseTrainerNameIndex(); gender = eSecretBaseRecord.gender; if (nameIndex == TRAINER_CLASS_NAME_SCHOOL_KID) - { return de_sub_8040FE0(gender); - } - return gTrainerClassNames[nameIndex]; - case 0x100: trainerClass = de_sub_81364AC(); nameIndex = get_trainer_class_name_index(); if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F) - { return de_sub_8040FE0(FEMALE); - } if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3) - { return de_sub_8040FF4(FEMALE); - } - return gTrainerClassNames[nameIndex]; - case 0x800: trainerClass = de_sub_81364F8(); nameIndex = GetEReaderTrainerClassNameIndex(); if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F) - { return de_sub_8040FE0(FEMALE); - } if (trainerClass == TRAINER_CLASS_MAY_1 || trainerClass == TRAINER_CLASS_MAY_2 || trainerClass == TRAINER_CLASS_MAY_3) - { return de_sub_8040FF4(FEMALE); - } - return gTrainerClassNames[nameIndex]; - default: trainer = &gTrainers[arg1]; trainerClass = trainer->trainerClass; local2 = sub_803FC58(arg1); - if (trainerClass == TRAINER_CLASS_LEADER_F) - { return de_sub_8040FE0(local2); - } - if (trainerClass == TRAINER_CLASS_BIRD_KEEPER && local2 == FEMALE) - { return de_sub_8040FF4(FEMALE); - } - if (trainerClass == TRAINER_CLASS_ELITE_FOUR_F) { if (gTrainers[arg1].doubleBattle == TRUE) - { return de_sub_804100C(FEMALE); - } else - { return de_sub_804100C(MALE); - } } - - return gTrainerClassNames[trainerClass]; } } @@ -264,7 +215,8 @@ _08041108: .4byte gTrainerClassNames\n\ } #endif -u32 de_sub_804110C(u32 arg0, u32 arg1) { +u32 de_sub_804110C(u32 arg0, u32 arg1) +{ return arg1; } diff --git a/src/easy_chat_1.c b/src/easy_chat_1.c new file mode 100644 index 000000000..e5b6cf7c3 --- /dev/null +++ b/src/easy_chat_1.c @@ -0,0 +1,1742 @@ +#include "global.h" +#include "constants/easy_chat.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "dewford_trend.h" +#include "easy_chat.h" +#include "event_data.h" +#include "ewram.h" +#include "graphics.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "unknown_task.h" + +extern const struct WindowConfig gWindowConfig_81E6D54; +extern const struct WindowConfig gWindowConfig_81E6DA8; + +extern void sub_80546B8(void); + +const u16 gMysteryEventPhrase[] = {EC_WORD_MYSTERY, EC_WORD_EVENT, EC_WORD_IS, EC_WORD_EXCITING}; + +const u16 gBerryMasterWifePhrases[][2] = +{ +#if ENGLISH + {EC_WORD_GREAT, EC_WORD_BATTLE}, + {EC_WORD_CHALLENGE, EC_WORD_CONTEST}, + {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)}, + {EC_WORD_COOL, EC_POKEMON(LATIOS)}, + {EC_WORD_SUPER, EC_WORD_HUSTLE}, +#else + {EC_WORD_GREAT, EC_WORD_FIGHT}, + {EC_WORD_CONTEST, EC_WORD_CHALLENGE}, + {EC_POKEMON(LATIAS), EC_WORD_OVERWHELMING}, + {EC_POKEMON(LATIOS), EC_WORD_COOL}, + {EC_WORD_SUPER, 0xFFFF}, +#endif +}; + +// const pointer to gEasyChatStruct-> easy_chat might be two separate files. +struct Shared1000 *const gEasyChatStruct = (struct Shared1000 *)(gSharedMem + 0x1000); + +const struct UnknownTaskStruct gUnknown_083DB698 = +{ + ®_BG3VOFS, + ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1, + 1 +}; + +const u8 gUnknown_083DB6A4[] = {4, 0, 0, 0, 1, 5, 0, 2, 2, 3, 2, 2, 2, 3}; + +// choose by alphabet keyboard +const u8 gUnknown_083DB6B2[][16] = +{ + _("ABCDEF "), + _("GHIJKL"), + _("MNOPQRS"), + _("TUVWXYZ"), +}; + +struct EasyChatPrompt +{ + const u8 *text1; + const u8 *text2; + bool8 unk8; +}; + +const struct EasyChatPrompt gUnknown_083DB6F4[] = +{ + {OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, TRUE}, + {OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, TRUE}, + {OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, TRUE}, + {OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, TRUE}, + {OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, TRUE}, + {OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, TRUE}, + {OtherText_YourProfile, OtherText_ConfirmTrendyPage2, FALSE}, + {OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_MailMessage, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_NewSong, OtherText_ConfirmTrendyPage2, FALSE}, + {OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, FALSE}, + {OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, TRUE}, + {OtherText_HipsterPage1, OtherText_HipsterPage2, TRUE}, + {OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, TRUE}, +}; + +const u8 gUnknown_083DB7C0[][2] = +{ + { 0, 6}, + { 1, 7}, + { 1, 8}, + { 1, 9}, + { 2, 10}, + {16, 13}, + { 4, 12}, + { 3, 13}, + { 3, 13}, + { 5, 14}, + { 3, 13}, + { 3, 13}, + { 3, 13}, + {15, 13}, +}; + +void sub_80E62F8(void); +void sub_80E6424(void); +void sub_80E6554(void); +void sub_80E6630(void); +void sub_80E6690(void); +void sub_80E682C(void (*)(void)); +void sub_80E69F8(void); +void sub_80E6A6C(void); +void sub_80E6A88(void); +void sub_80E6AA8(void); +void sub_80E6AC4(void); +void sub_80E6AE4(void); +void sub_80E6BC0(void); +void sub_80E6C84(void); +void sub_80E6D7C(void); +void sub_80E6F68(void); +void sub_80E6FC8(void); +void sub_80E7114(void); +void sub_80E718C(void); +void sub_80E7218(void); +void sub_80E7294(void); +void sub_80E7324(void); +void sub_80E73D0(void); +void sub_80E7458(void); +void sub_80E752C(void); +void sub_80E7574(void); +bool8 sub_80E75D8(void); +bool8 sub_80E77C8(void); +void sub_80E7A98(void); +void sub_80E7AD4(void); +bool8 sub_80E7B40(void); +void sub_80E7D30(void); +void sub_80E7D6C(void); +void sub_80E7D9C(void); +bool8 sub_80E7DD0(void); +void sub_80E7E50(void); +void sub_80E7F00(u16, u16); +u8 sub_80E7FA8(void); +bool8 sub_80E8054(void); +u8 sub_80E8094(void); +u8 sub_80E810C(void); +void sub_80E81C0(void); +void sub_80E81FC(void); +void sub_80E8218(void); + +void sub_80E8398(); +void sub_80E8420(void); +void sub_80E8504(void); +void sub_80E87CC(); + +void sub_80E88F0(void); +void sub_80E8958(); + +void sub_80E8BF4(); +void sub_80E8CEC(void); +void sub_80E8D54(void); +void sub_80E8D8C(); +void sub_80E8DD8(void); +void sub_80E91D4(); +void sub_80E9368(); +void sub_80E95A4(void); +void sub_80E9744(void); +void sub_80E98C4(void); +void sub_80E9974(void); +void sub_80E9A14(void); +void sub_80E9A4C(void); +void sub_80E9AD4(void); +void sub_80E9C94(void); +void sub_80E9D00(void); +void sub_80E9D7C(void); +void sub_80E9E08(); +bool8 sub_80E9E54(void); +void sub_80E9E98(void); +u8 sub_80E9EA8(void); +u8 sub_80E9F50(void); +u8 sub_80E9FD4(void); +u8 sub_80EA014(void); +u8 sub_80EA050(void); +u8 sub_80EA0E4(void); +u8 sub_80EA184(void); +void sub_80EAC5C(void); +void sub_80EAD08(void); +u8 sub_80EAD7C(u8); +void sub_80EAECC(void); +void LoadEasyChatStrings(void); +void sub_80EB0B0(void); +u8 *sub_80EB218(u8 *, u16, u16); +u16 sub_80EB2D4(); +bool8 sub_80EB680(u16 *, u16, u16, u16); + +void sub_80E60D8(void) +{ + u8 r4 = 3; + u16 *r1; + + switch (gSpecialVar_0x8004) + { + case 0: + r1 = gSaveBlock1.easyChats.unk2B1C; + break; + case 1: + r1 = gSaveBlock1.easyChats.unk2B28; + break; + case 2: + r1 = gSaveBlock1.easyChats.unk2B34; + break; + case 3: + r1 = gSaveBlock1.easyChats.unk2B40; + break; + case 4: + r1 = gSaveBlock1.mail[gSpecialVar_0x8005].words; + break; + case 6: + { + struct MauvilleManBard *bard = &gSaveBlock1.mauvilleMan.bard; + u16 i; + for (i = 0; i < 6; i++) + bard->temporaryLyrics[i] = bard->songLyrics[i]; + r1 = bard->temporaryLyrics; + } + break; + case 5: + // TODO: Is this the right TV show? + r1 = gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubLetter.pad04; + r4 = gSpecialVar_0x8006; + break; + case 7: + // TODO: Is this the right TV show? + r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubOpinions.var1C[gSpecialVar_0x8006]; + r4 = 1; + break; + case 8: + // TODO: Is this the right TV show? + r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].fanclubOpinions.var02; + r4 = 0; + break; + case 9: + r1 = NULL; + break; + case 10: + r1 = &gSaveBlock1.gabbyAndTyData.quote; + *r1 = 0xFFFF; + r4 = 1; + break; + case 11: + // TODO: Is this the right TV show? + r1 = &gSaveBlock1.tvShows[gSpecialVar_0x8005].bravoTrainer.var04[gSpecialVar_0x8006]; + r4 = 0; + break; + case 12: + // TODO: Is this the right TV show? + r1 = gSaveBlock1.tvShows[gSpecialVar_0x8005].bravoTrainerTower.var18; + r4 = 1; + break; + case 13: + gEasyChatStruct->unk9C7C = 0xFFFF; + gEasyChatStruct->unk9C7E = -1; + r1 = &gEasyChatStruct->unk9C7C; + break; + default: + return; + } + sub_80E62A0(gSpecialVar_0x8004, r1, sub_80546B8, r4); +} + +void sub_80E62A0(u8 a, u16 *b, void (*c)(void), u8 d) +{ + gEasyChatStruct->unk0 = c; + gEasyChatStruct->unk4 = b; + gEasyChatStruct->unk8 = a; + gEasyChatStruct->unkB = d; + if (a == 9) + { + gEasyChatStruct->unk4 = &gEasyChatStruct->unk9C7C; + gEasyChatStruct->unk9C7C = gSaveBlock1.easyChatPairs[0].words[0]; + gEasyChatStruct->unk9C7E = gSaveBlock1.easyChatPairs[0].words[1]; + } + SetMainCallback2(sub_80E62F8); +} + +void sub_80E62F8(void) +{ + switch (gMain.state) + { + case 0: + default: + REG_DISPCNT = 0; + SetVBlankCallback(0); + ResetPaletteFade(); + ResetSpriteData(); + dp12_8087EA4(); + remove_some_task(); + sub_80EAD08(); + sub_80895F8(gUnknown_083DB698); + FreeSpriteTileRanges(); + FreeAllSpritePalettes(); + break; + case 1: + SetUpWindowConfig(&gWindowConfig_81E6DA8); + break; + case 2: + InitMenuWindow(&gWindowConfig_81E6D54); + InitMenuWindow(&gWindowConfig_81E6DA8); + MenuZeroFillScreen(); + break; + case 3: + sub_80E6424(); + break; + case 4: + sub_80E8DD8(); + break; + case 5: + sub_80E8218(); + sub_80E8CEC(); + break; + case 6: + sub_80E69F8(); + sub_80E682C(sub_80E6AA8); + SetVBlankCallback(sub_80E6A6C); + break; + case 7: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + break; + case 8: + REG_DISPCNT = 0x1F40; + SetMainCallback2(sub_80E6A88); + FlagSet(FLAG_SYS_CHAT_USED); + break; + } + gMain.state++; +} + +void sub_80E6424(void) +{ + gEasyChatStruct->unk9 = gUnknown_083DB6A4[gEasyChatStruct->unk8]; + switch (gEasyChatStruct->unk9) + { + case 4: + gEasyChatStruct->unkA = 4; + gEasyChatStruct->unk83 = 2; + gEasyChatStruct->unk84 = 2; + gEasyChatStruct->unk88 = 5; + gEasyChatStruct->unk8A = 4; + break; + case 5: + gEasyChatStruct->unkA = 4; + gEasyChatStruct->unk83 = 1; + gEasyChatStruct->unk84 = 4; + gEasyChatStruct->unk88 = 16; + gEasyChatStruct->unk8A = 2; + break; + case 0: + gEasyChatStruct->unkA = 6; + gEasyChatStruct->unk83 = 2; + gEasyChatStruct->unk84 = 3; + gEasyChatStruct->unk88 = 4; + gEasyChatStruct->unk8A = 3; + break; + case 1: + gEasyChatStruct->unkA = 9; + gEasyChatStruct->unk83 = 2; + gEasyChatStruct->unk84 = 5; + gEasyChatStruct->unk88 = 4; + gEasyChatStruct->unk8A = 0; + break; + case 2: + gEasyChatStruct->unkA = 1; + gEasyChatStruct->unk83 = 1; + gEasyChatStruct->unk84 = 1; + gEasyChatStruct->unk88 = 16; + gEasyChatStruct->unk8A = 4; + break; + case 3: + gEasyChatStruct->unkA = 2; + gEasyChatStruct->unk83 = 2; + gEasyChatStruct->unk84 = 1; + gEasyChatStruct->unk88 = 5; + gEasyChatStruct->unk8A = 3; + break; + } + gEasyChatStruct->unk86 = 0; + gEasyChatStruct->unk85 = 0; + gEasyChatStruct->unk87 = 0; + gEasyChatStruct->unk26 = 0; + gEasyChatStruct->unk1BA = 0; + gEasyChatStruct->unk1BE = 2; + sub_80E6554(); + sub_80EAECC(); + LoadEasyChatStrings(); + sub_80E7E50(); + sub_80E6630(); + sub_80E6690(); +} + +void sub_80E6554(void) +{ + u16 r4 = 0; + u16 r7; + u16 r5; + + for (r7 = 0; ; r7++) + { + for (r5 = 0; r5 < 2; r5++) + { + gEasyChatStruct->unk2A[r7][r5] = r4++; + if (r4 == 17) + break; + } + if (r4 == 17) + break; + } + gEasyChatStruct->unk28 = 17; + while (r4 < 22) + { + if (sub_80EAD7C(r4) != 0) + { + r5++; + if (r5 > 1) + { + r7++; + r5 = 0; + } + gEasyChatStruct->unk2A[r7][r5] = r4; + gEasyChatStruct->unk78[r4 - 17] = 1; // hmm... + gEasyChatStruct->unk28++; + } + else + { + gEasyChatStruct->unk78[r4 - 17] = 0; + } + r4++; + } + gEasyChatStruct->unk1B6 = (gEasyChatStruct->unk28 + 1) / 2; +} + +void sub_80E6630(void) +{ + u8 i; + u8 r3; + + for (i = 0; i < 4; i++) + { + const u8 *row = gUnknown_083DB6B2[i]; + + for (r3 = 0; row[r3] != EOS; r3++) + { + if (row[r3] != CHAR_SPACE) + gEasyChatStruct->unk40[i][r3] = row[r3] + 0x46; + else + gEasyChatStruct->unk40[i][r3] = CHAR_SPACE; + } + } +} + +void sub_80E6690(void) +{ + u8 *pointers[] = + { + gEasyChatStruct->unk9C80, gEasyChatStruct->unk9CC9, + gEasyChatStruct->unk9D12, gEasyChatStruct->unk9D5B, + }; + u8 *r3; + u16 i; + + for (i = 0; i < 2; i++) + { + const struct EasyChatPrompt *prompt = &gUnknown_083DB6F4[gUnknown_083DB7C0[gEasyChatStruct->unk8][i]]; + + r3 = StringCopy(pointers[i * 2 + 0], prompt->text1); + if (prompt->unk8) + { + StringCopy(pointers[i * 2 + 1], prompt->text2); + } + else + { + *r3++ = CHAR_SPACE; + StringCopy(r3, prompt->text2); + *pointers[i * 2 + 1] = EOS; + } + } + + for (i = 0; i < 0x24; i++) + gEasyChatStruct->unk9DA4[i] = 0; + gEasyChatStruct->unk9DA4[i] = 0xFF; + + r3 = gEasyChatStruct->unk9F6E; + r3[0] = EXT_CTRL_CODE_BEGIN; + r3[1] = 0x11; + r3[2] = 0xE0; + r3[3] = 0xFF; +} + +// Default profile phrase +const u16 gUnknown_083DB7EC[] = +{ +#if ENGLISH + EC_WORD_I_AM, + EC_WORD_A, + EC_WORD_POKEMON, + EC_WORD_GREAT, +#else + EC_WORD_I_AM, + EC_WORD_BIG, + EC_WORD_IN, + EC_WORD_POKEMON, +#endif +}; + +const u16 gUnknown_083DB7F4[] = +{ + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_READY, + EC_WORD_QUES, + EC_WORD_HERE_I_COME, + EC_WORD_EXCL, +}; + +// ResetDefaultEasyChatPhrases +void InitEasyChatPhrases(void) +{ + u16 i; + u16 j; + + for (i = 0; i < 4; i++) + gSaveBlock1.easyChats.unk2B1C[i] = gUnknown_083DB7EC[i]; + + for (i = 0; i < 6; i++) + gSaveBlock1.easyChats.unk2B28[i] = gUnknown_083DB7F4[i]; + + for (i = 0; i < 6; i++) + { + gSaveBlock1.easyChats.unk2B34[i] = 0xFFFF; + gSaveBlock1.easyChats.unk2B40[i] = 0xFFFF; + } + + for (i = 0; i < 16; i++) + { + for (j = 0; j < 9; j++) + gSaveBlock1.mail[i].words[j] = 0xFFFF; + } + + for (i = 0; i < 64; i++) + gSaveBlock1.unk2D8C[i] = 0; +} + +void sub_80E682C(void (*func)(void)) +{ + gEasyChatStruct->unk20 = func; + gEasyChatStruct->unk24 = 0; +} + +void sub_80E683C(void) +{ + u16 i; + + if (gEasyChatStruct->unk26 == 0) + { + for (i = 0; i < gEasyChatStruct->unk1B6; i++) + gEasyChatStruct->unk1AA[i] = 2; + gEasyChatStruct->unk1AA[i - 1] = gEasyChatStruct->unk28 % 2; + if (gEasyChatStruct->unk1AA[i - 1] == 0) + gEasyChatStruct->unk1AA[i - 1] = 2; + } + else + { + gEasyChatStruct->unk1AA[0] = 7; + gEasyChatStruct->unk1AA[1] = 6; + gEasyChatStruct->unk1AA[2] = 7; + gEasyChatStruct->unk1AA[3] = 7; + } + gEasyChatStruct->unk1A8 = 0; + gEasyChatStruct->unk1A9 = 0; + gEasyChatStruct->unk1B5 = 0; + gEasyChatStruct->unk1B7 = 0; + sub_80E9A4C(); +} + +void sub_80E68E8(void) +{ + sub_80EB0B0(); + if (gEasyChatStruct->unk26 == 0) + { + u16 i; + u8 r6; + + r6 = gEasyChatStruct->unk1B8; + gEasyChatStruct->unk9A28 = (gEasyChatStruct->unk4178[r6] + 1) / 2; + for (i = 0; i < gEasyChatStruct->unk9A28; i++) + gEasyChatStruct->unk99A6[i] = 2; + i--; + gEasyChatStruct->unk99A6[i] = gEasyChatStruct->unk4178[r6] % 2; + if (gEasyChatStruct->unk99A6[i] == 0) + gEasyChatStruct->unk99A6[i] = 2; + } + else + { + u16 i; + u8 r6; + + r6 = gEasyChatStruct->unk1B8; + gEasyChatStruct->unk9A28 = (gEasyChatStruct->unk4142[r6] + 1) / 2; + for (i = 0; i < gEasyChatStruct->unk9A28; i++) + gEasyChatStruct->unk99A6[i] = 2; + i--; + gEasyChatStruct->unk99A6[i] = gEasyChatStruct->unk4142[r6] % 2; + if (gEasyChatStruct->unk99A6[i] == 0) + gEasyChatStruct->unk99A6[i] = 2; + } + gEasyChatStruct->unk99A4 = 0; + gEasyChatStruct->unk99A5 = 0; + gEasyChatStruct->unk9A29 = 0; + sub_80E9A4C(); +} + +void sub_80E69F8(void) +{ + switch (gEasyChatStruct->unk8) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 9: + case 13: + default: + sub_80E9368(gEasyChatStruct->unk8); + break; + case 5: + case 7: + case 8: + case 10: + case 11: + case 12: + sub_80E9368(gEasyChatStruct->unk8); + sub_80E8BF4(gEasyChatStruct->unkB, gEasyChatStruct->unk9); + break; + } +} + +void sub_80E6A6C(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + sub_80EAC5C(); + TransferPlttBuffer(); + sub_8089668(); +} + +void sub_80E6A88(void) +{ + gEasyChatStruct->unk20(); + AnimateSprites(); + BuildOamBuffer(); + sub_80EAD08(); +} + +void sub_80E6AA8(void) +{ + if (!UpdatePaletteFade()) + sub_80E682C(sub_80E6AC4); +} + +void sub_80E6AC4(void) +{ + sub_80E88F0(); + sub_80E8398(0); + sub_80E91D4(0); + sub_80E682C(sub_80E6AE4); +} + +void sub_80E6AE4(void) +{ + gEasyChatStruct->unk87 = sub_80E75D8(); + if (gEasyChatStruct->unk87) + PlaySE(SE_SELECT); + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84) + { + switch (gEasyChatStruct->unk85) + { + case 0: + sub_80E682C(sub_80E6BC0); + return; + case 1: + sub_80E682C(sub_80E6C84); + return; + case 2: + sub_80E682C(sub_80E6D7C); + return; + } + } + else + { + gEasyChatStruct->unk27 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85; + sub_80E7574(); + sub_80E682C(sub_80E6F68); + return; + } + } + if (gMain.newKeys & B_BUTTON) + { + sub_80E682C(sub_80E6C84); + } +} + +void sub_80E6BC0(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8398(2); + if (gEasyChatStruct->unk8 == 6) + { + sub_80E91D4(6); + gEasyChatStruct->unk24 = 100; + } + else + { + sub_80E91D4(2); + DisplayYesNoMenu(23, 8, 1); + MoveMenuCursor(1); + gEasyChatStruct->unk24++; + } + break; + case 1: + switch (ProcessMenuInputNoWrap_()) + { + case 0: + sub_80E7D6C(); + sub_80E98C4(); + sub_80E95A4(); + gEasyChatStruct->unk24++; + break; + case -1: + case 1: + gEasyChatStruct->unk24++; + break; + } + break; + case 2: + sub_80E81FC(); + sub_80E682C(sub_80E6AC4); + break; + case 100: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + sub_80E682C(sub_80E6AC4); + break; + } +} + +void sub_80E6C84(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8398(2); + sub_80E91D4(3); + DisplayYesNoMenu(23, 8, 0); + MoveMenuCursor(1); + if (gEasyChatStruct->unk8 == 9 + || gEasyChatStruct->unk8 == 4 + || gEasyChatStruct->unk8 == 7 + || gEasyChatStruct->unk8 == 8 + || gEasyChatStruct->unk8 == 10 + || gEasyChatStruct->unk8 == 11 + || gEasyChatStruct->unk8 == 12 + || gEasyChatStruct->unk8 == 5 + || gEasyChatStruct->unk8 == 13) + gEasyChatStruct->unk24 = 2; + else + gEasyChatStruct->unk24++; + break; + case 1: + switch (ProcessMenuInputNoWrap_()) + { + case 0: + sub_80E91D4(4); + DisplayYesNoMenu(23, 8, 0); + MoveMenuCursor(1); + gEasyChatStruct->unk24++; + break; + case -1: + case 1: + gEasyChatStruct->unk24 = 0xFF; + break; + } + break; + case 2: + switch (ProcessMenuInputNoWrap_()) + { + case 0: + gSpecialVar_Result = 0; + sub_80E682C(sub_80E752C); + break; + case -1: + case 1: + gEasyChatStruct->unk24 = 0xFF; + break; + } + break; + case 0xFF: + HandleDestroyMenuCursors(); + sub_80E81FC(); + sub_80E682C(sub_80E6AC4); + break; + } +} + +void sub_80E6D7C(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8398(2); + if (sub_80E8054()) + { + sub_80E91D4(5); + gEasyChatStruct->unk24 = 10; + break; + } + if (gEasyChatStruct->unk8 == 9) + { + if (sub_80E7FA8() == 0) + { + sub_80E91D4(8); + gEasyChatStruct->unk24 = 10; + break; + } + if (gEasyChatStruct->unkC[0] == 0xFFFF || gEasyChatStruct->unkC[1] == 0xFFFF) + { + sub_80E91D4(9); + gEasyChatStruct->unk24 = 10; + break; + } + } + if (gEasyChatStruct->unk8 == 4 && sub_80E7FA8() == 0) + { + sub_80E682C(sub_80E6C84); + } + else + { + sub_80E91D4(1); + sub_80E9744(); + DisplayYesNoMenu(23, 8, 0); + MoveMenuCursor(0); + gEasyChatStruct->unk24++; + } + break; + case 1: + switch (ProcessMenuInputNoWrap_()) + { + case 0: + gSpecialVar_Result = (sub_80E7FA8() != 0); + sub_80E7D9C(); + if (gEasyChatStruct->unk8 == 0) + gSpecialVar_0x8004 = sub_80E8094(); + if (gEasyChatStruct->unk8 == 9) // dewford trend? + { + sub_80E81C0(); + gSpecialVar_0x8004 = sub_80FA364(&gEasyChatStruct->unk9C7C); + } + if (gEasyChatStruct->unk8 == 13) + { + if (gEasyChatStruct->unkC[0] == 0xFFFF || gEasyChatStruct->unkC[1] == 0xFFFF) + gSpecialVar_Result = 0; + gSpecialVar_0x8004 = sub_80E810C(); + } + sub_80E682C(sub_80E752C); + break; + case -1: + case 1: + HandleDestroyMenuCursors(); + sub_80E81FC(); + if (gEasyChatStruct->unk8 == 6 && sub_80E7FA8() != 0) + { + gEasyChatStruct->unk24 = 100; + } + else + { + sub_80E95A4(); + sub_80E682C(sub_80E6AC4); + } + break; + } + break; + case 10: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + sub_80E682C(sub_80E6AC4); + break; + case 100: + sub_80E91D4(7); + gEasyChatStruct->unk24++; + // fall through + case 101: + if (gMain.newKeys & A_BUTTON) + gEasyChatStruct->unk24++; + break; + case 102: + sub_80E7E50(); + sub_80E95A4(); + sub_80E682C(sub_80E6AC4); + break; + } +} + +void sub_80E6F68(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8398(1); + sub_80E91D4(10); + sub_80E683C(); + sub_80E9974(); + sub_80E9E98(); + gEasyChatStruct->unk24++; + break; + case 1: + if (sub_80E9EA8() != 0) + { + sub_80E8D8C(1); + sub_80E8420(); + sub_80E8958(0); + sub_80E682C(sub_80E6FC8); + } + break; + } +} + +void sub_80E6FC8(void) +{ + gEasyChatStruct->unk96 = sub_80E77C8(); + if (gEasyChatStruct->unk1C0 != 0) + { + PlaySE(SE_SELECT); + gEasyChatStruct->unk1C4 = sub_80E6FC8; + sub_80E682C(sub_80E7458); + } + else + { + if (gEasyChatStruct->unk96) + PlaySE(SE_SELECT); + if (gMain.newKeys & A_BUTTON) + { + if (gEasyChatStruct->unk1B7 != 0) + { + PlaySE(SE_SELECT); + switch (gEasyChatStruct->unk1A8) + { + case 1: + sub_80E682C(sub_80E718C); + break; + case 2: + if (gEasyChatStruct->unk8 != 6) + { + sub_80E7F00(gEasyChatStruct->unk27, 0xFFFF); + sub_80E7574(); + sub_80E95A4(); + } + break; + case 3: + sub_80E682C(sub_80E7114); + break; + } + } + else + { + if (gEasyChatStruct->unk26 == 0 + || gEasyChatStruct->unk4142[gEasyChatStruct->unk40[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9]] != 0) + { + PlaySE(SE_SELECT); + sub_80E7AD4(); + sub_80E682C(sub_80E7218); + } + } + } + else if (gMain.newKeys & B_BUTTON) + { + sub_80E682C(sub_80E7114); + } + else if (gMain.newKeys & SELECT_BUTTON) + { + sub_80E682C(sub_80E718C); + } + } +} + +void sub_80E7114(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8504(); + sub_80E9E98(); + sub_80E88F0(); + sub_80E8D8C(0); + gEasyChatStruct->unk24++; + break; + case 1: + case 2: + gEasyChatStruct->unk24++; + break; + case 3: + if (sub_80E9F50() != 0) + gEasyChatStruct->unk24++; + break; + case 4: + sub_80E682C(sub_80E6AC4); + break; + } +} + +void sub_80E718C(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E8504(); + sub_80E9E98(); + sub_80E88F0(); + gEasyChatStruct->unk24++; + sub_80E8D54(); + break; + case 1: + if (sub_80E9FD4() != 0) + { + gEasyChatStruct->unk26 = !gEasyChatStruct->unk26; + sub_80E683C(); + sub_80E9974(); + sub_80E9E98(); + gEasyChatStruct->unk24++; + } + break; + default: + gEasyChatStruct->unk24++; + break; + case 8: + if (sub_80EA014() != 0) + { + sub_80E8420(); + sub_80E8958(0); + sub_80E682C(sub_80E6FC8); + } + break; + } +} + +void sub_80E7218(void) +{ + switch (gEasyChatStruct->unk24) + { + default: + gEasyChatStruct->unk24++; + break; + case 8: + sub_80E8D8C(0); + sub_80E8504(); + sub_80E9AD4(); + sub_80E68E8(); + sub_80E88F0(); + sub_80E9E98(); + gEasyChatStruct->unk24++; + break; + case 9: + if (sub_80EA050() != 0) + { + sub_80E9C94(); + gEasyChatStruct->unk24++; + } + break; + case 10: + sub_80E87CC(1); + sub_80E8958(1); + sub_80E682C(sub_80E7294); + break; + case 11: + break; + } +} + +void sub_80E7294(void) +{ + gEasyChatStruct->unk1B9 = sub_80E7B40(); + if (gEasyChatStruct->unk1C0 != 0) + { + PlaySE(SE_SELECT); + gEasyChatStruct->unk1C4 = sub_80E7294; + sub_80E682C(sub_80E7458); + } + else + { + if (gEasyChatStruct->unk1B9) + PlaySE(SE_SELECT); + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80E682C(sub_80E7324); + } + else if (gMain.newKeys & B_BUTTON) + { + sub_80E682C(sub_80E73D0); + } + } +} + +void sub_80E7324(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + if (!sub_80E7DD0()) + { + sub_80E682C(sub_80E7294); + } + else + { + sub_80E88F0(); + sub_80E87CC(0); + gEasyChatStruct->unk24++; + } + break; + case 1: + gEasyChatStruct->unk24++; + break; + case 2: + sub_80E9E98(); + gEasyChatStruct->unk24++; + break; + case 3: + if (sub_80EA184() != 0) + gEasyChatStruct->unk24++; + break; + case 4: + if (gEasyChatStruct->unk8 == 6 && sub_80E7FA8() != 0) + sub_80E682C(sub_80E6D7C); + else + sub_80E682C(sub_80E6AC4); + break; + } +} + +void sub_80E73D0(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + sub_80E87CC(0); + sub_80E88F0(); + gEasyChatStruct->unk24++; + break; + case 1: + sub_80E9AD4(); + sub_80E9E98(); + gEasyChatStruct->unk24++; + break; + case 2: + if (sub_80EA0E4() != 0) + { + sub_80E8D8C(1); + sub_80E9A14(); + gEasyChatStruct->unk24++; + } + break; + case 3: + sub_80E8420(); + sub_80E8958(0); + gEasyChatStruct->unk24++; + break; + case 4: + sub_80E9974(); + sub_80E682C(sub_80E6FC8); + break; + } +} + +void sub_80E7458(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + if (gEasyChatStruct->unk1C4 == sub_80E6FC8) + sub_80E9D7C(); + else + sub_80E9D00(); + sub_80E9E08(gEasyChatStruct->unk1BE); + gEasyChatStruct->unk24++; + break; + case 1: + if (sub_80E9E54()) + { + if (gEasyChatStruct->unk1C4 == sub_80E6FC8) + { + sub_80E9D7C(); + gEasyChatStruct->unk1B5 += gEasyChatStruct->unk1C0; + sub_80E7A98(); + gEasyChatStruct->unk96 = TRUE; + } + else + { + gEasyChatStruct->unk9A29 += gEasyChatStruct->unk1C0; + sub_80E7D30(); + gEasyChatStruct->unk1B9 = 1; + } + gEasyChatStruct->unk1BE = 2; + sub_80E682C(gEasyChatStruct->unk1C4); + } + break; + } +} + +void sub_80E752C(void) +{ + switch (gEasyChatStruct->unk24) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gEasyChatStruct->unk24++; + break; + case 1: + if (!UpdatePaletteFade()) + SetMainCallback2(gEasyChatStruct->unk0); + break; + } +} + +void sub_80E7574(void) +{ + if (gEasyChatStruct->unk8 == 1 + && gEasyChatStruct->unk7E[gEasyChatStruct->unk86] == 2 + && sub_80EB2D4(gEasyChatStruct->unkC[gEasyChatStruct->unk27]) != 7) + gEasyChatStruct->unk7D = 1; + else + gEasyChatStruct->unk7D = 0; + gEasyChatStruct->unk7D = 0; // What the hell? +} + +bool8 sub_80E75D8(void) +{ + bool8 pressedUpDown = FALSE; + u8 r0; + + if (gMain.newKeys & START_BUTTON) + { + gEasyChatStruct->unk86 = gEasyChatStruct->unk84; + gEasyChatStruct->unk85 = 2; + return TRUE; + } + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + gEasyChatStruct->unk86--; + if (gEasyChatStruct->unk86 < 0) + gEasyChatStruct->unk86 = gEasyChatStruct->unk84; + pressedUpDown = TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + gEasyChatStruct->unk86++; + if (gEasyChatStruct->unk86 > gEasyChatStruct->unk84) + gEasyChatStruct->unk86 = 0; + pressedUpDown = TRUE; + } + + if (pressedUpDown) + { + if (gEasyChatStruct->unk9 == 2) + { + if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84) + gEasyChatStruct->unk85 = 2; + else + gEasyChatStruct->unk85 = 0; + return TRUE; + } + else + { + if (gEasyChatStruct->unk85 >= gEasyChatStruct->unk83) + gEasyChatStruct->unk85 = gEasyChatStruct->unk83 - 1; + if (gEasyChatStruct->unk86 != gEasyChatStruct->unk84) + { + r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85; + if (r0 >= gEasyChatStruct->unkA) + gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA; + } + return TRUE; + } + } + else + { + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (--gEasyChatStruct->unk85 < 0) + { + if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84) + { + gEasyChatStruct->unk85 = 2; + } + else + { + gEasyChatStruct->unk85 = gEasyChatStruct->unk83 - 1; + r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85; + if (r0 >= gEasyChatStruct->unkA) + gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA; + } + } + return TRUE; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gEasyChatStruct->unk86 == gEasyChatStruct->unk84) + { + if (++gEasyChatStruct->unk85 > 2) + gEasyChatStruct->unk85 = 0; + } + else + { + if (++gEasyChatStruct->unk85 >= gEasyChatStruct->unk83) + gEasyChatStruct->unk85 = 0; + r0 = gEasyChatStruct->unk86 * gEasyChatStruct->unk83 + gEasyChatStruct->unk85; + if (r0 >= gEasyChatStruct->unkA) + gEasyChatStruct->unk85 = r0 - gEasyChatStruct->unkA; + } + return TRUE; + } + } + return FALSE; +} + +bool8 sub_80E77C8(void) +{ + bool8 pressedLeftRight = FALSE; + bool8 pressedUpDown; + + if (gEasyChatStruct->unk1B7 != 0) + { + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + gEasyChatStruct->unk1A8--; + if (gEasyChatStruct->unk1A8 < 1) + gEasyChatStruct->unk1A8 = 3; + return TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + gEasyChatStruct->unk1A8++; + if (gEasyChatStruct->unk1A8 > 3) + gEasyChatStruct->unk1A8 = 1; + return TRUE; + } + } + else + { + if (gEasyChatStruct->unk26 == 1) + { + pressedUpDown = FALSE; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + gEasyChatStruct->unk1A8--; + if (gEasyChatStruct->unk1A8 < 0) + gEasyChatStruct->unk1A8 = 3; + pressedUpDown = TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + gEasyChatStruct->unk1A8++; + if (gEasyChatStruct->unk1A8 > 3) + gEasyChatStruct->unk1A8 = 0; + pressedUpDown = TRUE; + } + + if (pressedUpDown) + { + sub_80E7A98(); + return TRUE; + } + } + else + { + pressedUpDown = FALSE; + gEasyChatStruct->unk1C0 = 0; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (gEasyChatStruct->unk1A8 == 0) + return FALSE; + gEasyChatStruct->unk1A8--; + if (gEasyChatStruct->unk1A8 < gEasyChatStruct->unk1B5) + gEasyChatStruct->unk1C0 = -1; + pressedUpDown = TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (gEasyChatStruct->unk1A8 >= gEasyChatStruct->unk1B6 - 1) + return FALSE; + gEasyChatStruct->unk1A8++; + if (gEasyChatStruct->unk1A8 > gEasyChatStruct->unk1B5 + 3) + gEasyChatStruct->unk1C0 = 1; + pressedUpDown = TRUE; + } + + if (pressedUpDown) + { + if (gEasyChatStruct->unk1C0 == 0) + { + sub_80E7A98(); + return TRUE; + } + return FALSE; + } + } + } + + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gEasyChatStruct->unk1A9 != 0) + gEasyChatStruct->unk1A9--; + else + gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]; + pressedLeftRight = TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gEasyChatStruct->unk1B7 != 0 + || gEasyChatStruct->unk1A9 == gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]) + gEasyChatStruct->unk1A9 = 0; + else + gEasyChatStruct->unk1A9++; + pressedLeftRight = TRUE; + } + + if (pressedLeftRight) + { + s8 r9 = gEasyChatStruct->unk1B7; + + gEasyChatStruct->unk1B7 = (gEasyChatStruct->unk1A9 == gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]); + if (gEasyChatStruct->unk1B7 != 0) + { + gEasyChatStruct->unk1A8 -= gEasyChatStruct->unk1B5; + if (gEasyChatStruct->unk1A8 == 0) + { + gEasyChatStruct->unk1A8 = 1; + gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]; + } + } + else if (r9 != 0) + { + gEasyChatStruct->unk1A8 += gEasyChatStruct->unk1B5; + if (gEasyChatStruct->unk1A9 != 0) + gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8] - 1; + } + return TRUE; + } + + return FALSE; +} + +void sub_80E7A98(void) +{ + if (gEasyChatStruct->unk1A9 >= gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8]) + gEasyChatStruct->unk1A9 = gEasyChatStruct->unk1AA[gEasyChatStruct->unk1A8] - 1; +} + +void sub_80E7AD4(void) +{ + if (gEasyChatStruct->unk26 == 0) + gEasyChatStruct->unk1B8 = gEasyChatStruct->unk2A[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9]; + else + gEasyChatStruct->unk1B8 = gEasyChatStruct->unk40[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9]; +} + +bool8 sub_80E7B40(void) +{ + bool8 pressedUpDown = FALSE; + + gEasyChatStruct->unk1C0 = 0; + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (gEasyChatStruct->unk99A4 == 0) + return FALSE; + gEasyChatStruct->unk99A4--; + if (gEasyChatStruct->unk99A4 < gEasyChatStruct->unk9A29) + { + gEasyChatStruct->unk1C0 = -1; + return FALSE; + } + pressedUpDown = TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (gEasyChatStruct->unk99A4 >= gEasyChatStruct->unk9A28 - 1) + return FALSE; + gEasyChatStruct->unk99A4++; + if (gEasyChatStruct->unk99A4 >= gEasyChatStruct->unk9A29 + 4) + { + gEasyChatStruct->unk1C0 = 1; + return FALSE; + } + pressedUpDown = TRUE; + } + + if (pressedUpDown) + { + sub_80E7D30(); + return TRUE; + } + + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + gEasyChatStruct->unk99A5--; + if (gEasyChatStruct->unk99A5 < 0) + gEasyChatStruct->unk99A5 = gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4] - 1; + return TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + gEasyChatStruct->unk99A5++; + if (gEasyChatStruct->unk99A5 >= gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4]) + gEasyChatStruct->unk99A5 = 0; + return TRUE; + } + + if (gMain.newKeys & START_BUTTON) + { + if (gEasyChatStruct->unk9A29 != 0) + { + gEasyChatStruct->unk1C0 = -gEasyChatStruct->unk9A29; + if (gEasyChatStruct->unk1C0 < -4) + gEasyChatStruct->unk1C0 = -4; + } + gEasyChatStruct->unk99A4 += gEasyChatStruct->unk1C0; + gEasyChatStruct->unk1BE = 4; + } + else if (gMain.newKeys & SELECT_BUTTON) + { + if (gEasyChatStruct->unk9A29 < gEasyChatStruct->unk9A28 - 4) + { + gEasyChatStruct->unk1C0 = gEasyChatStruct->unk9A28 - 4 - gEasyChatStruct->unk9A29; + if (gEasyChatStruct->unk1C0 > 4) + gEasyChatStruct->unk1C0 = 4; + } + gEasyChatStruct->unk99A4 += gEasyChatStruct->unk1C0; + gEasyChatStruct->unk1BE = 4; + } + + return FALSE; +} + +void sub_80E7D30(void) +{ + if (gEasyChatStruct->unk99A5 >= gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4]) + gEasyChatStruct->unk99A5 = gEasyChatStruct->unk99A6[gEasyChatStruct->unk99A4] - 1; +} + +void sub_80E7D6C(void) +{ + u16 i; + + for (i = 0; i < gEasyChatStruct->unkA; i++) + sub_80E7F00(i, 0xFFFF); +} + +void sub_80E7D9C(void) +{ + u16 i; + + for (i = 0; i < gEasyChatStruct->unkA; i++) + gEasyChatStruct->unk4[i] = gEasyChatStruct->unkC[i]; +} + +bool8 sub_80E7DD0(void) +{ + u16 r4 = gEasyChatStruct->unk9A2A[gEasyChatStruct->unk99A4][gEasyChatStruct->unk99A5]; + + if (gEasyChatStruct->unk7D != 0 + && gEasyChatStruct->unk7E[gEasyChatStruct->unk86] > 1 + && sub_80EB2D4(r4) == 7) + return FALSE; + + sub_80E7F00(gEasyChatStruct->unk27, r4); + sub_80E95A4(); + return TRUE; +} + +void sub_80E7E50(void) +{ + u16 r5 = 0; + u16 i; + u16 j; + + for (i = 0; i < gEasyChatStruct->unk84; i++) + { + gEasyChatStruct->unk7E[i] = 0; + for (j = 0; j < gEasyChatStruct->unk83; j++) + { + gEasyChatStruct->unkC[r5] = gEasyChatStruct->unk4[r5]; + gEasyChatStruct->unk8C[i][j] = 0; + r5++; + } + } +} + +void sub_80E7F00(u16 a, u16 b) +{ + u16 r5 = a / gEasyChatStruct->unk83; + u16 r8 = a % gEasyChatStruct->unk83; + u16 r4 = sub_80EB2D4(gEasyChatStruct->unkC[a]); + u16 r3 = sub_80EB2D4(b); + + if (r4 == 7) + { + if (r3 != 7) + gEasyChatStruct->unk7E[r5]--; + } + else + { + if (r3 == 7) + gEasyChatStruct->unk7E[r5]++; + } + r3 = 0; + gEasyChatStruct->unk8C[r5][r8] = r3; + gEasyChatStruct->unkC[a] = b; +} + +u8 sub_80E7FA8(void) +{ + u16 r8 = 0; + u16 i; + u8 *r1; + u8 *r2; + + for (i = 0; i < gEasyChatStruct->unkA; i++) + { + sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unk4[i], 0); + sub_80EB218(gEasyChatStruct->unk9E41, gEasyChatStruct->unkC[i], 0); + r1 = gEasyChatStruct->unk9E14; + r2 = gEasyChatStruct->unk9E41; + while (*r1 == *r2 && *r1 != 0xFF) + { + r1++; + r2++; + } + if (*r1 != *r2) + r8++; + } + return r8; +} + +bool8 sub_80E8054(void) +{ + u16 i; + + for (i = 0; i < gEasyChatStruct->unkA; i++) + { + if (gEasyChatStruct->unkC[i] != 0xFFFF) + return FALSE; + } + return TRUE; +} + +// CheckMysteryEventPhrase +bool8 sub_80E8094(void) +{ + u16 i; + u8 *r3; + u8 *r4; + + for (i = 0; i < 4; i++) + { + sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unkC[i], 0); + sub_80EB218(gEasyChatStruct->unk9E41, gMysteryEventPhrase[i], 0); + r3 = gEasyChatStruct->unk9E14; + r4 = gEasyChatStruct->unk9E41; + while (*r3 != 0xFF && *r4 != 0xFF) + { + if (*r3++ != *r4++) + return FALSE; + } + if (*r3 != 0xFF || *r4 != 0xFF) + return FALSE; + } + return TRUE; +} + +u8 sub_80E810C(void) +{ + u16 i; + + for (i = 0; i < 5; i++) + { + u8 *ptr; + u8 *r3; + + ptr = sub_80EB218(gEasyChatStruct->unk9E6E, gEasyChatStruct->unkC[0], 0); + *ptr++ = CHAR_SPACE; + sub_80EB218(ptr, gEasyChatStruct->unkC[1], 0); + + ptr = sub_80EB218(gEasyChatStruct->unk9EEE, gBerryMasterWifePhrases[i][0], 0); + *ptr++ = CHAR_SPACE; + sub_80EB218(ptr, gBerryMasterWifePhrases[i][1], 0); + + ptr = gEasyChatStruct->unk9E6E; + r3 = gEasyChatStruct->unk9EEE; + while (*ptr != EOS && *r3 != EOS) + { + if (*ptr++ != *r3++) + break; + } + if (*ptr == EOS && *r3 == EOS) + return i + 1; + } + return 0; +} + +void sub_80E81C0(void) +{ + u8 *ptr; + + ptr = sub_80EB218(gStringVar2, gEasyChatStruct->unk9C7C, 0); + *ptr++ = CHAR_SPACE; + sub_80EB218(ptr, gEasyChatStruct->unk9C7E, 0); +} + +void sub_80E81FC(void) +{ + PlaySE(SE_SELECT); + sub_80E95A4(); + MenuZeroFillWindowRect(0, 0, 29, 13); +} diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c new file mode 100644 index 000000000..8a3bb9ab9 --- /dev/null +++ b/src/easy_chat_2.c @@ -0,0 +1,3048 @@ +#include "global.h" +#include "constants/easy_chat.h" +#include "constants/map_objects.h" +#include "data2.h" +#include "decompress.h" +#include "easy_chat.h" +#include "event_data.h" +#include "field_map_obj.h" +#include "field_message_box.h" +#include "graphics.h" +#include "menu.h" +#include "palette.h" +#include "pokedex.h" +#include "random.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "strings2.h" +#include "trig.h" +#include "unknown_task.h" + +extern void sub_8095C8C(); +extern void sub_809D104(void *, u16, u16, const void *, u16, u16, u16, u16); + +void sub_80E8268(void); +void sub_80E82BC(struct Sprite *); +void sub_80E8534(void); +void sub_80E85F8(struct Sprite *); +void sub_80E872C(struct Sprite *); +void sub_80E8760(struct Sprite *); +void sub_80E8818(void); +void sub_80E8860(struct Sprite *); +void sub_80E8A7C(void); +void sub_80E8B78(struct Sprite *); +void sub_80E8FA4(void); +void sub_80E9198(u8); +void sub_80E91D4(u8); +void sub_80E948C(void); +void sub_80E95A4(void); +void sub_80E9620(u16, u16); +void sub_80E97C0(u16, u16); +void sub_80E9A4C(void); +void sub_80E9A60(const u8 *, u16, u16); +void sub_80E9A7C(u8 *, u16); +void sub_80E9AD4(void); +void sub_80E9C74(u16); +u8 sub_80EA1E0(void); +void sub_80EA24C(void); +void sub_80EA348(void); +void sub_80EA4A4(void); +void sub_80EA5A0(void); +void sub_80EA704(void); +void sub_80EA764(void); +void sub_80EA7F4(void); +void sub_80EA8BC(void); +void sub_80EA948(void); +void sub_80EAA44(void); +void sub_80EAAD4(void); +void sub_80EABD4(u16 *, u16, u16, u16, u16, u16, u16, u16, u16); +void sub_80EAC0C(u16 *); +void sub_80EAC30(struct UnknownEasyChatStruct1 *, u16, u16, u16, u16, void *); +void sub_80EAC48(struct UnknownEasyChatStruct1 *); +void sub_80EACBC(void *, u16 *, struct UnknownEasyChatStruct1 *); +u8 *CopyEasyChatGroupName(u8 *, u8, int); +u8 *sub_80EB218(u8 *, u16, u16); +u16 sub_80EB2D4(u16); +bool8 sub_80EB37C(u16); +bool8 sub_80EB868(u8); +static u16 sub_80EB960(void); +u8 sub_80EB9C8(void); +static u16 sub_80EB9D8(void); + +// put this in .bss, damnit! +__attribute__((section(".bss"))) u8 gUnknown_03000740 = 0; + +const u16 InterviewPalette_0[] = INCBIN_U16("graphics/misc/interview_pal0.gbapal"); +const u16 InterviewPalette_1[] = INCBIN_U16("graphics/misc/interview_pal1.gbapal"); +const u8 InterviewArrowTiles[] = INCBIN_U8("graphics/misc/interview_arrow.4bpp"); +const u8 InterviewButtonTiles[] = INCBIN_U8("graphics/misc/interview_buttons.4bpp"); +const u16 gMenuInterviewFrame_Pal[] = INCBIN_U16("graphics/misc/interview_frame.gbapal"); +const u8 gMenuInterviewFrame_Gfx[] = INCBIN_U8("graphics/misc/interview_frame.4bpp.lz"); +const u8 InterviewTriangleCursorTiles[] = INCBIN_U8("graphics/misc/interview_triangle_cursor.4bpp"); + +void sub_80E8218(void) +{ + struct SpriteSheet interviewSpriteSheets[] = + { + {InterviewTriangleCursorTiles, 0x20, 0}, + {gInterviewOutlineCursorTiles, 0x700, 1}, + {InterviewArrowTiles, 0x100, 2}, + {InterviewButtonTiles, 0x100, 3}, + {NULL, 0, 0}, + }; + struct SpritePalette interviewSpritePalettes[] = + { + {InterviewPalette_0, 0}, + {InterviewPalette_1, 1}, + {NULL, 0}, + }; + + LoadSpriteSheets(interviewSpriteSheets); + LoadSpritePalettes(interviewSpritePalettes); + sub_80E8268(); + sub_80E8818(); + sub_80E8A7C(); +} + +const struct OamData gOamData_83DBBF4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct SpriteTemplate gSpriteTemplate_83DBBFC = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gOamData_83DBBF4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E82BC, +}; + +void sub_80E8268(void) +{ + u8 spriteId; + + spriteId = CreateSprite(&gSpriteTemplate_83DBBFC, 0, 0, 0); + gSprites[spriteId].pos1.y = gEasyChatStruct->unk8A * 8 + 8; + gSprites[spriteId].pos1.x = gEasyChatStruct->unk88 * 8 + 4; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[1] = 0; + gEasyChatStruct->unk98 = &gSprites[spriteId]; +} + +void sub_80E82BC(struct Sprite *sprite) +{ + if (sprite->data[1] == 0) + { + if (gEasyChatStruct->unk87) + { + u16 r5 = gEasyChatStruct->unk86; + u16 r4 = gEasyChatStruct->unk85; + u16 r7 = 0; + u16 i; + + for (i = 0; i < r4; i++) + r7 += gEasyChatStruct->unk8C[r5][i]; + + if (r5 == gEasyChatStruct->unk84) + { + sprite->pos1.y = 96; + sprite->pos1.x = (r4 * 7 + 3) * 8 + 4; + } + else + { + sprite->pos1.y = (gEasyChatStruct->unk8A + r5 * 2) * 8 + 8; + sprite->pos1.x = (gEasyChatStruct->unk88 + r7 + r4 * 11) * 8 + 4; + } + + sprite->pos2.x = -6; + sprite->data[0] = 0; + } + else + { + if (++sprite->data[0] > 2) + { + sprite->data[0] = 0; + if (++sprite->pos2.x > 0) + sprite->pos2.x = -6; + } + } + } +} + +void sub_80E8398(u8 a) +{ + switch (a) + { + case 0: + gEasyChatStruct->unk98->data[1] = a; + gEasyChatStruct->unk98->pos2.x = a; + gEasyChatStruct->unk98->invisible = FALSE; + break; + case 1: + gEasyChatStruct->unk98->data[1] = a; + gEasyChatStruct->unk98->pos2.x = 0; + gEasyChatStruct->unk98->invisible = FALSE; + break; + case 2: + gEasyChatStruct->unk98->data[1] = 1; + gEasyChatStruct->unk98->pos2.x = 0; + gEasyChatStruct->unk98->invisible = TRUE; + break; + } +} + +const struct OamData gOamData_83DBC14 = +{ + .y = 0, + .affineMode = 0, + .objMode = 1, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +const union AnimCmd gSpriteAnim_83DBC1C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC24[] = +{ +#if ENGLISH + ANIMCMD_FRAME(8, 5), +#else + ANIMCMD_FRAME(0, 5), +#endif + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC2C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC34[] = +{ + ANIMCMD_FRAME(24, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC3C[] = +{ + ANIMCMD_FRAME(32, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC44[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC4C[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC54[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC5C[] = +{ + ANIMCMD_FRAME(48, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC64[] = +{ +#if ENGLISH + ANIMCMD_FRAME(40, 5), +#else + ANIMCMD_FRAME(16, 5), +#endif + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC6C[] = +{ + ANIMCMD_FRAME(48, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBC74[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBC7C[] = +{ + gSpriteAnim_83DBC1C, + gSpriteAnim_83DBC24, + gSpriteAnim_83DBC2C, + gSpriteAnim_83DBC34, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBC8C[] = +{ + gSpriteAnim_83DBC3C, + gSpriteAnim_83DBC44, + gSpriteAnim_83DBC4C, + gSpriteAnim_83DBC54, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBC9C[] = +{ + gSpriteAnim_83DBC5C, + gSpriteAnim_83DBC64, + gSpriteAnim_83DBC6C, + gSpriteAnim_83DBC74, +}; + +/* +const struct SpriteTemplate gSpriteTemplate_83DBCAC = +{ + .tileTag = 1, + .paletteTag = 1, + .oam = &gOamData_83DBC14, + .anims = gSpriteAnimTable_83DBC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E85F8, +}; +*/ + +void sub_80E8420(void) +{ + struct SpriteTemplate spriteTemplate_83DBCAC = + { + .tileTag = 1, + .paletteTag = 1, + .oam = &gOamData_83DBC14, + .anims = gSpriteAnimTable_83DBC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E85F8, + }; + u8 spriteId; + + spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 3); + gEasyChatStruct->unk9C = &gSprites[spriteId]; + + spriteTemplate_83DBCAC.anims = gSpriteAnimTable_83DBC8C; + spriteTemplate_83DBCAC.callback = sub_80E872C; + spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 4); + gEasyChatStruct->unkA0 = &gSprites[spriteId]; + + spriteTemplate_83DBCAC.anims = gSpriteAnimTable_83DBC9C; + spriteTemplate_83DBCAC.callback = sub_80E8760; + spriteId = CreateSprite(&spriteTemplate_83DBCAC, 0, 0, 5); + gEasyChatStruct->unkA4 = &gSprites[spriteId]; + + gEasyChatStruct->unk9C->data[0] = 0; + gEasyChatStruct->unkA0->data[0] = 0; + gEasyChatStruct->unkA4->data[0] = 0; + + gEasyChatStruct->unk9C->data[3] = 0x0101 + IndexOfSpritePaletteTag(1) * 16; + sub_80E8534(); + gEasyChatStruct->unk96 = 1; + REG_BLDCNT = 0x3F40; +} + +void sub_80E8504(void) +{ + DestroySprite(gEasyChatStruct->unk9C); + DestroySprite(gEasyChatStruct->unkA0); + DestroySprite(gEasyChatStruct->unkA4); +} + +void sub_80E8534(void) +{ + if (gEasyChatStruct->unk1B7 != 0) + gUnknown_020388AC = 1; + else if (gEasyChatStruct->unk26 == 0) + gUnknown_020388AC = 0; + else if (gEasyChatStruct->unk1A8 == 0 && gEasyChatStruct->unk1A9 == 6) + gUnknown_020388AC = 2; + else + gUnknown_020388AC = 3; + + gEasyChatStruct->unk9C->data[2] = gUnknown_020388AC; + gEasyChatStruct->unkA0->data[2] = gUnknown_020388AC; + gEasyChatStruct->unkA4->data[2] = gUnknown_020388AC; + + StartSpriteAnim(gEasyChatStruct->unk9C, gUnknown_020388AC); + StartSpriteAnim(gEasyChatStruct->unkA0, gUnknown_020388AC); + StartSpriteAnim(gEasyChatStruct->unkA4, gUnknown_020388AC); + + gEasyChatStruct->unk9C->data[5] = 8; + gEasyChatStruct->unk9C->data[6] = 8; + gEasyChatStruct->unk9C->data[1] = 0; +} + +const s8 gUnknown_083DBCC4[][7] = +{ + {1, 3, 5, 8, 10, 12, 15}, + {1, 3, 5, 8, 10, 12, 0}, + {1, 3, 5, 8, 10, 12, 14}, + {1, 3, 5, 8, 10, 12, 14}, +}; + +void sub_80E85F8(struct Sprite *sprite) +{ + sprite->data[0]++; + if (sprite->data[0] & 1) + sprite->data[5] = 8 + (gSineTable[sprite->data[1]] >> 5); + else + sprite->data[6] = 8 - (gSineTable[sprite->data[1]] >> 5); + + sprite->data[1] = (sprite->data[1] + 5) & 0xFF; + + REG_BLDALPHA = (sprite->data[6] << 8) | sprite->data[5]; + + if (gEasyChatStruct->unk96 != 0) + { + sub_80E8534(); + + gEasyChatStruct->unk9C->data[5] = 8; + gEasyChatStruct->unk9C->data[6] = 8; + gEasyChatStruct->unk9C->data[1] = 0; + + switch (sprite->data[2]) + { + case 0: + sprite->pos1.x = gEasyChatStruct->unk1A9 * 88 + 32; + sprite->pos1.y = (gEasyChatStruct->unk1A8 - gEasyChatStruct->unk1B5) * 16 + 96; + break; + case 1: +#if ENGLISH + sprite->pos1.x = 216; +#else + sprite->pos1.x = 214; +#endif + sprite->pos1.y = gEasyChatStruct->unk1A8 * 16 + 96; + break; + case 2: + sprite->pos1.x = 151; + sprite->pos1.y = 96; + break; + case 3: + sprite->pos1.x = gUnknown_083DBCC4[gEasyChatStruct->unk1A8][gEasyChatStruct->unk1A9] * 8 + 31; + sprite->pos1.y = (gEasyChatStruct->unk1A8 - gEasyChatStruct->unk1B5) * 16 + 96; + break; + } + } +} + + +void sub_80E872C(struct Sprite *sprite) +{ + if (gEasyChatStruct->unk96 != 0 && sprite->data[2] == 0) + { + sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 32; + sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y; + } +} + +void sub_80E8760(struct Sprite *sprite) +{ + if (gEasyChatStruct->unk96 != 0) + { + switch (sprite->data[2]) + { + case 0: + sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 64; + sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y; + break; +#if GERMAN + case 1: + sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 28; + sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y; + break; +#endif + case 2: + sprite->pos1.x = gEasyChatStruct->unk9C->pos1.x + 21; + sprite->pos1.y = gEasyChatStruct->unk9C->pos1.y; + break; + } + } +} + +void sub_80E87A4(u8 a) +{ + gEasyChatStruct->unkA8->data[1] = (a == 0); + gEasyChatStruct->unkA8->pos2.x = 0; +} + +void sub_80E87CC(u8 a) +{ + gEasyChatStruct->unkA8->invisible = (a == 0); + sub_80E87A4(a); + if (a != 0) + gEasyChatStruct->unk1B9 = 1; +} + +void sub_80E8818(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83DBBFC, 0, 0, 0); + + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[1] = 0; + gEasyChatStruct->unkA8 = &gSprites[spriteId]; + gEasyChatStruct->unkA8->callback = sub_80E8860; + sub_80E87CC(0); +} + +void sub_80E8860(struct Sprite *sprite) +{ + if (sprite->data[1] == 0) + { + if (gEasyChatStruct->unk1B9 != 0) + { + sprite->pos1.x = gEasyChatStruct->unk99A5 * 88 + 44; + sprite->pos1.y = (gEasyChatStruct->unk99A4 - gEasyChatStruct->unk9A29) * 16 + 96; + sprite->pos2.x = -6; + sprite->data[0] = 0; + } + else + { + sprite->data[0]++; + if (sprite->data[0] > 2) + { + sprite->data[0] = 0; + sprite->pos2.x++; + if (sprite->pos2.x > 0) + sprite->pos2.x = -6; + } + } + } +} + +void sub_80E88F0(void) +{ + u16 i; + + for (i = 0; i < 2; i++) + { + gEasyChatStruct->unkAC[i]->invisible = TRUE; + gEasyChatStruct->unkAC[i]->data[1] = 0; + gEasyChatStruct->unkB4[i]->invisible = TRUE; + gEasyChatStruct->unkB4[i]->data[1] = 0; + } + gEasyChatStruct->unk9C70 = 0; +} + +void sub_80E8958(u8 animNum) +{ + s16 r9; + u16 i; + + if (animNum == 0) + { + r9 = 100; + gEasyChatStruct->unk9C6C = &gEasyChatStruct->unk1B5; + if (gEasyChatStruct->unk26 == 0) + gEasyChatStruct->unk9C71 = gEasyChatStruct->unk1B6 - 4; + else + gEasyChatStruct->unk9C71 = 0; + } + else + { + r9 = 120; + gEasyChatStruct->unk9C6C = &gEasyChatStruct->unk9A29; + gEasyChatStruct->unk9C71 = gEasyChatStruct->unk9A28 - 4; + for (i = 0; i < 2; i++) + { + gEasyChatStruct->unkB4[i]->invisible = FALSE; + gEasyChatStruct->unkB4[i]->data[1] = 1; + } + } + + if (gEasyChatStruct->unk9C71 < 0) + gEasyChatStruct->unk9C71 = 0; + + for (i = 0; i < 2; i++) + { + gEasyChatStruct->unkAC[i]->pos1.x = r9; + gEasyChatStruct->unkAC[i]->invisible = FALSE; + gEasyChatStruct->unkAC[i]->data[1] = 1; + StartSpriteAnim(gEasyChatStruct->unkAC[i], animNum); + } + + gEasyChatStruct->unk9C70 = 1; +} + +const struct OamData gOamData_83DBCE0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +const union AnimCmd gSpriteAnim_83DBCE8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBCF0[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBCF8[] = +{ + gSpriteAnim_83DBCE8, + gSpriteAnim_83DBCF0, +}; + +const union AnimCmd gSpriteAnim_83DBD00[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBD08[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBD10[] = +{ + gSpriteAnim_83DBD00, + gSpriteAnim_83DBD08, +}; + +void sub_80E8A7C(void) +{ + struct SpriteTemplate spriteTemplate_83DBD18 = + { + .tileTag = 2, + .paletteTag = 0, + .oam = &gOamData_83DBCE0, + .anims = gSpriteAnimTable_83DBCF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E8B78, + }; + u16 i; + u8 spriteId; + + for (i = 0; i < 2; i++) + { + spriteId = CreateSprite(&spriteTemplate_83DBD18, 0, 84 + i * 72 , 0); + gEasyChatStruct->unkAC[i] = &gSprites[spriteId]; + gEasyChatStruct->unkAC[i]->data[0] = i; + gEasyChatStruct->unkAC[i]->vFlip = i; + } + + spriteTemplate_83DBD18.tileTag = 3; + spriteTemplate_83DBD18.anims = gSpriteAnimTable_83DBD10; + + for (i = 0; i < 2; i++) + { + spriteId = CreateSprite(&spriteTemplate_83DBD18, 142 + i * 40, 88, 0); + gEasyChatStruct->unkB4[i] = &gSprites[spriteId]; + gEasyChatStruct->unkB4[i]->data[0] = i; + gEasyChatStruct->unkB4[i]->oam.shape = 1; + gEasyChatStruct->unkB4[i]->oam.size = 1; + StartSpriteAnim(gEasyChatStruct->unkB4[i], i); + } + + sub_80E8958(0); + sub_80E88F0(); +} + +void sub_80E8B78(struct Sprite *sprite) +{ + bool8 invisible; + + if (gEasyChatStruct->unk9C70 != 0 && sprite->data[1] != 0) + { + if (sprite->data[0] == 0) + { + invisible = FALSE; + if (*gEasyChatStruct->unk9C6C == 0) + invisible = TRUE; + sprite->invisible = invisible; + } + else + { + invisible = FALSE; + if (*gEasyChatStruct->unk9C6C == gEasyChatStruct->unk9C71) + invisible = TRUE; + sprite->invisible = invisible; + } + } +} + +// defined below +extern const struct SpriteTemplate gSpriteTemplate_83DBD48; + +void sub_80E8BF4(u8 reporter, u8 b) +{ + struct CompressedSpriteSheet gUnknown_083DBD30 = {gMenuInterviewFrame_Gfx, 2048, 0x0006}; + struct SpritePalette gUnknown_083DBD38 = {gMenuInterviewFrame_Pal, 0x0004}; + s16 x; + s16 y; + u16 gabbyTyGfxId; + u8 spriteId; + + switch (b) + { + case 2: + default: + x = 64; + y = 40; + break; + case 5: + x = 36; + y = 48; + break; + } + + switch (reporter) + { + case 0: // Gabby + default: + gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_M; + break; + case 1: // Ty + gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_F; + break; + } + + LoadCompressedObjectPic(&gUnknown_083DBD30); + LoadSpritePalette(&gUnknown_083DBD38); + CreateSprite(&gSpriteTemplate_83DBD48, x, y, 1); + + spriteId = AddPseudoFieldObject( + (gSaveBlock2.playerGender == MALE) ? MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL : MAP_OBJ_GFX_RIVAL_MAY_NORMAL, + SpriteCallbackDummy, x - 12, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = 0; + StartSpriteAnim(&gSprites[spriteId], 3); + } + + spriteId = AddPseudoFieldObject(gabbyTyGfxId, SpriteCallbackDummy, x + 12, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = 0; + StartSpriteAnim(&gSprites[spriteId], 2); + } +} + +const struct OamData gOamData_83DBD40 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct SpriteTemplate gSpriteTemplate_83DBD48 = +{ + .tileTag = 6, + .paletteTag = 4, + .oam = &gOamData_83DBD40, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct CompressedSpriteSheet gUnknown_083DBD60 = {gMenuWordGroupIndicator_Gfx, 4096, 0x0007}; + +const struct SpritePalette gUnknown_083DBD68 = {gMenuWordGroupIndicator_Pal, 0x0005}; + +const struct OamData gOamData_83DBD70 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const union AnimCmd gSpriteAnim_83DBD78[] = +{ + ANIMCMD_FRAME(96, 3), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBD80[] = +{ + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(96, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBD94[] = +{ + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(96, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBDA8[] = +{ + ANIMCMD_FRAME(64, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBDB4[] = +{ + ANIMCMD_FRAME(64, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DBDC0[] = +{ + ANIMCMD_FRAME(64, 2), + ANIMCMD_FRAME(96, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DBDCC[] = +{ + gSpriteAnim_83DBD78, + gSpriteAnim_83DBD80, + gSpriteAnim_83DBD94, + gSpriteAnim_83DBDA8, + gSpriteAnim_83DBDB4, + gSpriteAnim_83DBDC0, +}; + +const struct SpriteTemplate gSpriteTemplate_83DBDE4 = +{ + .tileTag = 7, + .paletteTag = 5, + .oam = &gOamData_83DBD70, + .anims = gSpriteAnimTable_83DBDCC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +void sub_80E8CEC(void) +{ + u8 spriteId; + + LoadCompressedObjectPic(&gUnknown_083DBD60); + LoadSpritePalette(&gUnknown_083DBD68); + + spriteId = CreateSprite(&gSpriteTemplate_83DBDE4, 224, 88, 0); + if (spriteId != MAX_SPRITES) + gEasyChatStruct->unk9C74 = &gSprites[spriteId]; + else + gEasyChatStruct->unk9C74 = NULL; +} + +void sub_80E8D54(void) +{ + if (gEasyChatStruct->unk9C74 != NULL) + { + if (gEasyChatStruct->unk26 == 0) + StartSpriteAnim(gEasyChatStruct->unk9C74, 1); + else + StartSpriteAnim(gEasyChatStruct->unk9C74, 2); + } +} + +void sub_80E8D8C(u8 a) +{ + if (gEasyChatStruct->unk9C74 != NULL) + { + if (a != 0) + { + if (gEasyChatStruct->unk26 == 0) + StartSpriteAnim(gEasyChatStruct->unk9C74, 3); + else + StartSpriteAnim(gEasyChatStruct->unk9C74, 4); + } + else + { + StartSpriteAnim(gEasyChatStruct->unk9C74, 5); + } + } +} + +const u16 gUnknown_083DBDFC[] = INCBIN_U16("graphics/unknown/unknown_3DBDFC.gbapal"); + +const u16 gUnknown_083DBE1C[] = +{ + 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, 0x300, + 0x301, 0x301, 0x301, 0x301, 0x301, 0x300, 0x300, 0x300, 0x300, +}; + +const u16 gUnknown_083DBE40[] = INCBIN_U16("graphics/unknown/unknown_3DBE40.gbapal"); + +// unused tilemap? +const u16 gUnused_083DBE60[] = +{ + 0x5036, 0x5037, 0x5038, 0x5039, 0x503A, 0x503B, + 0x5046, 0x5047, 0x5048, 0x5049, 0x504A, 0x504B, + 0x5056, 0x5057, 0x5058, 0x5059, 0x505A, 0x505B, + 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035, + 0x5040, 0x5041, 0x5042, 0x5043, 0x5044, 0x5045, + 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5055, +}; + +const u8 gUnknown_083DBEA8[] = _("{CLEAR_TO 88}"); + +void sub_80E8DD8(void) +{ + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + + REG_BG0CNT = 0x8B00; + REG_BG1CNT = 0x0D09; + + CpuCopy16(gUnknown_08E945D0, gEasyChatStruct->unk1C8, 0x500); + LZ77UnCompWram(gUnknown_08E953D0, gEasyChatStruct->unk6C8); + LZ77UnCompVram(gMenuWordGroupFrame_Gfx, (void *)(VRAM + 0x8000)); + CpuCopy16(gEasyChatStruct->unk1C8, (void *)(VRAM + 0x6800), 0x500); + LoadPalette(gMenuWordGroupFrame1_Pal, 64, 64); + + REG_BG2CNT = 0x0E02; + + DmaClear16(3, (void *)(VRAM + 0x7000), 0x800); + DmaCopy16Defvars(3, gUnknown_08E9AB00, (void *)(VRAM + 0x6000), 64); + LZ77UnCompVram(gUnknown_08E9AB60, (void *)(VRAM + 0x7000)); + LoadPalette(gUnknown_08E9AB40, 0, 32); + LoadPalette(gUnknown_083DBDFC, 16, 32); + + REG_BG3CNT = 0x0F0F; + + DmaClear32(3, (void *)(VRAM + 0x7800), 0x800); + LoadPalette(gUnknown_083DBE40, 32, 32); + gPlttBufferUnfaded[63] = RGB(31, 31, 31); + gPlttBufferUnfaded[49] = RGB(27, 26, 27); + gPlttBufferUnfaded[56] = RGB(28, 28, 28); + gPlttBufferFaded[63] = RGB(31, 31, 31); + gPlttBufferFaded[49] = RGB(27, 26, 27); + gPlttBufferFaded[56] = RGB(28, 28, 28); + + gEasyChatStruct->unkBC = 0; + sub_80E8FA4(); + sub_80E948C(); + sub_80E9198(10); + sub_80E91D4(0); + sub_80E95A4(); + + REG_BLDCNT = 0; +} + +// The components are ORed in the reverse order from the normal RGB macro +#define RGB_(r, g, b) ((((b) & 0x1F) << 10) | (((g) & 0x1F) << 5) | ((r) & 0x1F)) + +#define R_VAL(color) ((color) & 0x1F) +#define G_VAL(color) (((color) >> 5) & 0x1F) +#define B_VAL(color) (((color) >> 10) & 0x1F) + +void sub_80E8FA4(void) +{ + u16 i; + u16 r3; + u16 r4; + s32 sp0[3]; + s32 spC[3]; + s32 sp18[3]; + + for (i = 0; i < 3; i++) + { + sp0[0] = R_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8; + spC[0] = R_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8; + sp0[1] = G_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8; + spC[1] = G_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8; + sp0[2] = B_VAL(*(gMenuWordGroupFrame2_Pal + i + 1)) << 8; + spC[2] = B_VAL(*(gMenuWordGroupFrame2_Pal + i + 4)) << 8; + + for (r3 = 0; r3 < 3; r3++) + sp18[r3] = (spC[r3] - sp0[r3]) / 8; + + for (r4 = 0; r4 < 8; r4++) + { + gEasyChatStruct->unk9C34[i][r4] = RGB_(sp0[0] >> 8, sp0[1] >> 8, sp0[2] >> 8); + for (r3 = 0; r3 < 3; r3++) + sp0[r3] += sp18[r3]; + } + gEasyChatStruct->unk9C34[i][r4] = RGB_(spC[0] >> 8, spC[1] >> 8, spC[2] >> 8); + } + gEasyChatStruct->unk9C32 = 0; +} + +void sub_80E9108(s8 a) +{ + u16 i; + + gEasyChatStruct->unk9C32 += a; + for (i = 0; i < 3; i++) + { + gPlttBufferUnfaded[81 + i] = gEasyChatStruct->unk9C34[i][gEasyChatStruct->unk9C32]; + gPlttBufferFaded[81 + i] = gEasyChatStruct->unk9C34[i][gEasyChatStruct->unk9C32]; + } +} + +void sub_80E9178(void) +{ + gEasyChatStruct->unk9C32 = 0; + sub_80E9108(0); +} + +void sub_80E9198(u8 a) +{ + gUnknown_03000740 = a; +} + +u8 sub_80E91A4(void) +{ + return gUnknown_03000740; +} + +void sub_80E91B0(const u8 *a, u8 b, u8 c, u8 d) +{ + sub_8072AB0(a, b * 8, c * 8, 176, d * 8, 1); +} + +void sub_80E91D4(u8 a) +{ + BasicInitMenuWindow(&gWindowConfig_81E6DA8); + + if (a == 10) + { + MenuZeroFillWindowRect(3, 14, 26, 19); + sub_80E9198(10); + return; + } + + if (sub_80E91A4() == 10) + MenuDrawTextWindow(3, 14, 26, 19); + + sub_80E9198(a); + switch (a) + { + case 0: + sub_80E91B0(gEasyChatStruct->unk9C80, 4, 15, 2); + sub_80E91B0(gEasyChatStruct->unk9CC9, 4, 17, 2); + break; + case 1: + sub_80E91B0(gEasyChatStruct->unk9D12, 4, 15, 2); + sub_80E91B0(gEasyChatStruct->unk9D5B, 4, 17, 2); + break; + case 2: + sub_80E91B0(gOtherText_TextDeletedConfirmPage1, 4, 15, 2); + sub_80E91B0(gOtherText_TextDeletedConfirmPage2, 4, 17, 2); + break; + case 3: + switch (gEasyChatStruct->unk8) + { + case 9: + sub_80E91B0(gOtherText_QuitGivingInfo, 4, 15, 4); + break; + case 4: + sub_80E91B0(gOtherText_StopGivingMail, 4, 15, 4); + break; + default: + sub_80E91B0(gOtherText_QuitEditing, 4, 15, 4); + break; + } + break; + case 4: + sub_80E91B0(gOtherText_EditedTextNoSavePage1, 4, 15, 2); + sub_80E91B0(gOtherText_EditedTextNoSavePage2, 4, 17, 2); + break; + case 5: + sub_80E91B0(gOtherText_EnterAPhraseOrWord, 4, 15, 4); + break; + case 6: + sub_80E91B0(gOtherText_TextNoDelete, 4, 15, 4); + break; + case 7: + sub_80E91B0(gOtherText_OnlyOnePhrase, 4, 15, 2); + sub_80E91B0(gOtherText_OriginalSongRestored, 4, 17, 2); + break; + case 8: + sub_80E91B0(gOtherText_TrendyAlready, 4, 15, 4); + break; + case 9: + sub_80E91B0(gOtherText_CombineTwoPhrases, 4, 15, 4); + break; + } +} + +void sub_80E9368(u8 a) +{ + const u8 *r4; + + switch (a) + { + case 0: + r4 = gOtherText_Profile; + break; + case 1: + r4 = gOtherText_AtBattleStart; + break; + case 2: + r4 = gOtherText_UponWinningBattle; + break; + case 3: + r4 = gOtherText_UponLosingBattle; + break; + case 6: + r4 = gOtherText_TheBardsSong; + break; + case 9: + r4 = gOtherText_WhatsHipHappening; + break; + case 5: + case 7: + case 8: + case 10: + case 11: + case 12: + r4 = gOtherText_Interview; + break; + case 13: + r4 = gOtherText_GoodSaying; + break; + default: + r4 = NULL; + break; + } + + BasicInitMenuWindow(&gWindowConfig_81E6D8C); + gEasyChatStruct->unk9F8E[0] = EXT_CTRL_CODE_BEGIN; + gEasyChatStruct->unk9F8E[1] = 5; + gEasyChatStruct->unk9F8E[2] = 1; + if (r4 != NULL) + { + sub_8072C74(gEasyChatStruct->unk9F8E + 3, r4, 240, 2); + MenuPrint(gEasyChatStruct->unk9F8E, 0, 0); + } + else + { + u8 *str = gEasyChatStruct->unk9F8E + 3; + + str[0] = EXT_CTRL_CODE_BEGIN; + str[1] = 0x11; + str[2] = 0x10; + str[3] = EOS; + + MenuPrint(gEasyChatStruct->unk9F8E, 0, 0); + MenuPrint(gEasyChatStruct->unk9F8E, 28, 0); + } + BasicInitMenuWindow(&gWindowConfig_81E6DA8); +} + +void sub_80E948C(void) +{ + switch (gEasyChatStruct->unk9) + { + case 4: + sub_809D104((void *)(VRAM + 0x6800), 3, 3, gUnknown_08E94AD0, 0, 26, 24, 6); + break; + case 5: + sub_809D104((void *)(VRAM + 0x6800), 14, 2, gUnknown_08E94AD0, 0, 18, 13, 8); + break; + case 0: + sub_809D104((void *)(VRAM + 0x6800), 2, 2, gUnknown_08E94AD0, 0, 10, 26, 8); + break; + case 1: + sub_809D104((void *)(VRAM + 0x6800), 2, 0, gUnknown_08E94AD0, 0, 0, 26, 10); + break; + case 2: + sub_809D104((void *)(VRAM + 0x6800), 14, 3, gUnknown_08E94AD0, 13, 18, 13, 4); + break; + case 3: + sub_809D104((void *)(VRAM + 0x6800), 3, 2, gUnknown_08E94AD0, 0, 32, 24, 4); + break; + } +} + +void sub_80E95A4(void) +{ + BasicInitMenuWindow(&gWindowConfig_81E6D8C); + switch (gEasyChatStruct->unk9) + { + case 4: + sub_80E9620(4, 6); + break; + case 5: + sub_80E9620(2, 17); + break; + case 0: + sub_80E9620(3, 5); + break; + case 1: + sub_80E9620(0, 5); + break; + case 2: + sub_80E9620(4, 17); + break; + case 3: + sub_80E9620(3, 6); + break; + } + BasicInitMenuWindow(&gWindowConfig_81E6DA8); +} + +void sub_80E9620(u16 a, u16 b) +{ + u16 i; + u16 j; + u16 r10 = 0; + u16 r7 = a; + + for (i = 0; i < gEasyChatStruct->unk84; i++) + { + u16 r6 = b; + + for (j = 0; j < gEasyChatStruct->unk83; j++) + { + if (r10 >= gEasyChatStruct->unkA) + { + MenuPrint(gUnknown_083DBEA8, r6, r7); + break; + } + if (gEasyChatStruct->unkC[r10] == 0xFFFF) + { + sub_8095C8C((void *)(VRAM + 0x7000), r6, r7, gUnknown_083DBE1C, 0, 0, 9, 2, 9); + r6 += 11; + } + else + { + sub_80EB218(gEasyChatStruct->unk9E14, gEasyChatStruct->unkC[r10], 11); + MenuPrint(gEasyChatStruct->unk9E14, r6, r7); + r6 += gEasyChatStruct->unk8C[i][j] + 11; + } + r10++; + } + r7 += 2; + } +} + +void sub_80E9744(void) +{ + BasicInitMenuWindow(&gWindowConfig_81E6D8C); + switch (gEasyChatStruct->unk9) + { + case 4: + sub_80E97C0(4, 6); + break; + case 5: + sub_80E97C0(2, 17); + break; + case 0: + sub_80E97C0(3, 5); + break; + case 1: + sub_80E97C0(0, 5); + break; + case 2: + sub_80E97C0(4, 17); + break; + case 3: + sub_80E97C0(3, 6); + break; + } + BasicInitMenuWindow(&gWindowConfig_81E6DA8); +} + +void sub_80E97C0(u16 a, u16 b) +{ + u8 i; + u8 r7 = 0; + + asm("":::"r9"); + + for (i = 0; i < gEasyChatStruct->unk84; i++) + { + u8 r6; + u8 *r2 = gEasyChatStruct->unk9E6E; + u32 r1; + + for (r6 = 0; r6 < gEasyChatStruct->unk83; r6++) + { + if (r7 >= gEasyChatStruct->unkA) + break; + if (gEasyChatStruct->unkC[r7] != 0xFFFF) + { + r2 = sub_80EB218(r2, gEasyChatStruct->unkC[r7], 0); + *r2++ = CHAR_SPACE; + } + r7++; + } + + r1 = gEasyChatStruct->unk83 * 11; + r2[0] = EXT_CTRL_CODE_BEGIN; + r2[1] = 0x13; + r2[2] = r1 * 8; + r2[3] = EOS; + + MenuPrint(gEasyChatStruct->unk9E6E, b, a); + + a += 2; + } +} + +void sub_80E98C4(void) +{ + u8 r1; + u8 r3; + + BasicInitMenuWindow(&gWindowConfig_81E6D8C); + switch (gEasyChatStruct->unk9) + { + case 4: + r1 = 4; + r3 = 2; + break; + case 5: + r1 = 3; + r3 = 2; + break; + case 0: + r1 = 3; + r3 = 2; + break; + case 1: + r1 = 1; + r3 = 3; + break; + case 2: + r1 = 4; + r3 = 1; + break; + case 3: + r1 = 3; + r3 = 1; + break; + default: + return; + } + MenuFillWindowRectWithBlankTile(2, r1, 27, r3 * 2 + r1 - 1); + BasicInitMenuWindow(&gWindowConfig_81E6DA8); +} + +void sub_80E9940(u8 *a, u8 b) +{ + u8 r4 = (b & 7); + + MenuFillWindowRectWithBlankTile(2, r4 * 2, 31, r4 * 2 + 1); + sub_80E9A7C(a, b); + sub_80E9A60(a, 2, r4 * 2); +} + +#if ENGLISH + +const u8 gUnknown_083DBEAC[][32] = +{ + _("{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}others"), + _("{UNKNOWN_14 8} G H I J K L "), + _("{UNKNOWN_14 8} M N O P Q R S "), + _("{UNKNOWN_14 8} T U V W X Y Z "), +}; + +#else + +const u8 unk_83E7EB0[] = _("{UNKNOWN_14 8} A B C D E F {UNKNOWN_14 0}mehr"); +const u8 unk_83E7ECA[] = _("{UNKNOWN_14 8} G H I J K L "); +const u8 unk_83E7EE1[] = _("{UNKNOWN_14 8} M N O P Q R S "); +const u8 unk_83E7EF8[] = _("{UNKNOWN_14 8} T U V W X Y Z "); +const u8 *const gUnknown_083DBEAC[] = +{ + unk_83E7EB0, + unk_83E7ECA, + unk_83E7EE1, + unk_83E7EF8, + unk_83E7EB0 + 21, // pointer to "mehr". What is this for? +}; + +#endif + +void sub_80E9974(void) +{ + BasicInitMenuWindow(&gWindowConfig_81E6D54); + if (gEasyChatStruct->unk26 == 0) + { + u16 i; + + for (i = gEasyChatStruct->unk1B5; i < gEasyChatStruct->unk1B5 + 4; i++) + sub_80E9940(gEasyChatStruct->unk9DC9, i); + } + else + { + sub_80E9AD4(); + sub_80E9A60(gUnknown_083DBEAC[0], 2, 0); + sub_80E9A60(gUnknown_083DBEAC[1], 2, 2); + sub_80E9A60(gUnknown_083DBEAC[2], 2, 4); + sub_80E9A60(gUnknown_083DBEAC[3], 2, 6); + } +} + +void sub_80E9A14(void) +{ + sub_80E9A4C(); + if (gEasyChatStruct->unk26 == 0) + gEasyChatStruct->unk1BA += gEasyChatStruct->unk1B5 * 16; +} + +void sub_80E9A4C(void) +{ + gEasyChatStruct->unk1BA = 0; +} + +void sub_80E9A60(const u8 *a, u16 b, u16 c) +{ + c &= 0xF; + MenuPrint(a, b, c); +} + +void sub_80E9A7C(u8 *dest, u16 b) +{ + u16 i; + u16 r5 = b * 2; + + for (i = 0; i < 2; i++) + { + dest[0] = EXT_CTRL_CODE_BEGIN; + dest[1] = 0x12; + dest[2] = 88 * i; + dest += 3; + + dest = CopyEasyChatGroupName(dest, gEasyChatStruct->unk2A[b][i], 11); + r5++; + if (r5 >= gEasyChatStruct->unk28) + break; + } +} + +void sub_80E9AD4(void) +{ + u16 i; + + BasicInitMenuWindow(&gWindowConfig_81E6D54); + for (i = 0; i < 16; i++) + sub_80E9C74(i); +} + +void sub_80E9AF8(u16 a) +{ + u8 *r8; + u16 i; + + sub_80E9C74(a); + + r8 = gEasyChatStruct->unk9E14; + r8[0] = EXT_CTRL_CODE_BEGIN; + r8[1] = 0x11; + r8[2] = 0x10; + r8 += 3; + + if (gEasyChatStruct->unk7D != 0) + { + for (i = 0; i < gEasyChatStruct->unk99A6[a]; i++) + { + if (sub_80EB2D4(gEasyChatStruct->unk9A2A[a][i]) == 7) + BasicInitMenuWindow(&gWindowConfig_81E6D70); + else + BasicInitMenuWindow(&gWindowConfig_81E6D54); + sub_80EB218(r8, gEasyChatStruct->unk9A2A[a][i], 9); + sub_80E9A60(gEasyChatStruct->unk9E14, i * 11 + 4, a * 2); + } + } + else + { + BasicInitMenuWindow(&gWindowConfig_81E6D54); + for (i = 0; i < gEasyChatStruct->unk99A6[a]; i++) + { + sub_80EB218(r8, gEasyChatStruct->unk9A2A[a][i], 9); + sub_80E9A60(gEasyChatStruct->unk9E14, i * 11 + 4, a * 2); + } + } +} + +void sub_80E9C74(u16 a) +{ + a &= 7; + MenuFillWindowRectWithBlankTile(0, a * 2, 29, a * 2 + 1); +} + +void sub_80E9C94(void) +{ + u16 r5 = min(gEasyChatStruct->unk9A28, 4); + u16 i; + + for (i = 0; i < r5; i++) + sub_80E9AF8(gEasyChatStruct->unk9A29 + i); + while (i < 4) + sub_80E9C74(i++); +} + +void sub_80E9D00(void) +{ + u16 r4; + u16 r5; + + if (gEasyChatStruct->unk1C0 > 0) + { + r4 = gEasyChatStruct->unk1C0; + r5 = gEasyChatStruct->unk9A29 + 4; + } + else + { + r4 = -gEasyChatStruct->unk1C0; + r5 = gEasyChatStruct->unk9A29 - r4; + } + while (--r4 != 0xFFFF) + sub_80E9AF8(r5++); +} + +void sub_80E9D7C(void) +{ + u16 r6; + u16 r4; + u16 i; + + BasicInitMenuWindow(&gWindowConfig_81E6D54); + if (gEasyChatStruct->unk1C0 < 0) + { + r6 = -gEasyChatStruct->unk1C0; + r4 = gEasyChatStruct->unk1B5 - r6; + } + else + { + r6 = gEasyChatStruct->unk1C0; + r4 = gEasyChatStruct->unk1B5 + 4; + } + for (i = 0; i < r6; i++) + { + sub_80E9940(gEasyChatStruct->unk9DC9, r4); + r4++; + } +} + +void sub_80E9E08(u8 a) +{ + gEasyChatStruct->unk1BC = (gEasyChatStruct->unk1BA + gEasyChatStruct->unk1C0 * 16) & 0x7F; + gEasyChatStruct->unk1BF = (gEasyChatStruct->unk1C0 < 0) ? -a : a; +} + +bool8 sub_80E9E54(void) +{ + gEasyChatStruct->unk1BA = (gEasyChatStruct->unk1BA + gEasyChatStruct->unk1BF) & 0x7F; + return (gEasyChatStruct->unk1BA == gEasyChatStruct->unk1BC); +} + +void nullsub_23(void) +{ +} + +void sub_80E9E98(void) +{ + gEasyChatStruct->unkBE = 0; +} + +bool8 sub_80E9EA8(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + sub_80EA24C(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + if (sub_80EA1E0() != 0) + { + sub_80EA4A4(); + gEasyChatStruct->unkBE++; + } + break; + case 2: + if (sub_80EA1E0() != 0) + { + sub_80EA704(); + gEasyChatStruct->unkBE++; + } + break; + case 3: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 4: + gEasyChatStruct->unkBE++; + break; + case 5: + return TRUE; + } + return FALSE; +} + +bool8 sub_80E9F50(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + nullsub_23(); + sub_80EA764(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 2: + sub_80EA5A0(); + gEasyChatStruct->unkBE++; + // fall through + case 3: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 4: + sub_80EA348(); + gEasyChatStruct->unkBE++; + // fall through + case 5: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 6: + return TRUE; + } + return FALSE; +} + +bool8 sub_80E9FD4(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + nullsub_23(); + sub_80EA5A0(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + if (sub_80EA1E0() != 0) + return TRUE; + break; + } + return FALSE; +} + +bool8 sub_80EA014(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + sub_80EA4A4(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + if (sub_80EA1E0() != 0) + return TRUE; + break; + } + return FALSE; +} + +bool8 sub_80EA050(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + nullsub_23(); + sub_80EA764(); + gEasyChatStruct->unkBE++; + break; + case 1: + if (sub_80EA1E0() != 0) + { + sub_80EA7F4(); + gEasyChatStruct->unkBE++; + } + break; + case 2: + sub_80E9108(1); + if (sub_80EA1E0() != 0) + { + sub_80EA8BC(); + gEasyChatStruct->unkBE++; + } + break; + case 3: + sub_80E9108(1); + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 4: + return TRUE; + } + return FALSE; +} + +bool8 sub_80EA0E4(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + sub_80EA948(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + sub_80E9108(-1); + if (sub_80EA1E0() != 0) + { + sub_80EAA44(); + gEasyChatStruct->unkBE++; + } + break; + case 2: + sub_80E9108(-1); + if (sub_80EA1E0() != 0) + { + sub_80EA704(); + gEasyChatStruct->unkBE++; + } + break; + case 3: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 4: + return TRUE; + } + return FALSE; +} + +bool8 sub_80EA184(void) +{ + switch (gEasyChatStruct->unkBE) + { + case 0: + sub_80EAAD4(); + gEasyChatStruct->unkBE++; + // fall through + case 1: + if (sub_80EA1E0() != 0) + gEasyChatStruct->unkBE++; + break; + case 2: + sub_80E9178(); + return TRUE; + } + return FALSE; +} + +bool8 sub_80EA1E0(void) +{ + u16 i; + + if (gEasyChatStruct->unkC4 != 0) + { + for (i = 0; i < gEasyChatStruct->unkC2; i++) + { + sub_80EAC0C(gEasyChatStruct->unkC8[i]); + sub_80EAC48(&gEasyChatStruct->unk148[i]); + } + gEasyChatStruct->unkBC = 1; + gEasyChatStruct->unkC4--; + return FALSE; + } + return TRUE; +} + +void sub_80EA24C(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 13, 14, 13, 15, -2, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 12, 15, 0, 0, 2, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 30, 0, -2, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 13, 15, 13, 16, -2, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 12, 16, 0, 0, 2, 0); + sub_80EAC30(&gEasyChatStruct->unk148[3], 30, 9, -2, 0, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 4; + gEasyChatStruct->unkC4 = 6; +} + +void sub_80EA348(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 14, 13, 15, 2, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 24, 15, 0, 0, -2, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 2, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 16, 2, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 16, 0, 0, -2, 0); + sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 9, 2, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[4], 1, 14, 1, 16, 0, 0, 2, 0); + sub_80EAC30(&gEasyChatStruct->unk148[4], 1, 14, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[5], 24, 14, 24, 16, -2, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[5], 24, 14, -2, 0, gEasyChatStruct->unk1C8); + + gEasyChatStruct->unkC2 = 6; + gEasyChatStruct->unkC4 = 6; +} + +void sub_80EA4A4(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 14, 13, 15, 0, -1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 14, 24, 15, 0, -1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 16, 0, 0, 0, 1); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 9, 0, -1, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 16, 0, 0, 0, 1); + sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 9, 0, -1, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 4; + gEasyChatStruct->unkC4 = 4; +} + +void sub_80EA5A0(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 1, 10, 13, 15, 0, 1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 12, 10, 24, 15, 0, 1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 18, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 15, 13, 20, 0, 0, 0, -1); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 5, 0, 1, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 12, 15, 24, 20, 0, 0, 0, -1); + sub_80EAC30(&gEasyChatStruct->unk148[3], 18, 5, 0, 1, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[4], 1, 10, 24, 10, 0, 0, 0, 1); + sub_80EAC30(&gEasyChatStruct->unk148[4], 1, 10, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[5], 1, 20, 24, 20, 0, -1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[5], 1, 20, 0, -1, gEasyChatStruct->unk1C8); + + gEasyChatStruct->unkC2 = 6; + gEasyChatStruct->unkC4 = 4; +} + +void sub_80EA704(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 12, 25, 20, 0, 0, 1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 5, 10, -1, 0, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 1; + gEasyChatStruct->unkC4 = 5; +} + +void sub_80EA764(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 12, 30, 20, 0, 0, -1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 10, 1, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 30, 12, 31, 20, -1, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 30, 12, -1, 0, gEasyChatStruct->unk1C8); + + gEasyChatStruct->unkC2 = 2; + gEasyChatStruct->unkC4 = 6; +} + +void sub_80EA7F4(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 20, 10, 25, 20, 0, 0, 1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 25, 0, -1, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 10, 1, 20, 0, 0, 1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 10, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 1, 10, 4, 20, 1, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 3; + gEasyChatStruct->unkC4 = 2; +} + +void sub_80EA8BC(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 3, 10, 4, 20, 0, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 10, 2, 20, 0, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 10, 0, 0, gEasyChatStruct->unk1C8); + + gEasyChatStruct->unkC2 = 2; + gEasyChatStruct->unkC4 = 1; +} + +void sub_80EA948(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 0, 10, 2, 20, 0, 0, -1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 10, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 3, 10, 5, 20, -1, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 26, 10, 30, 20, -1, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[2], 26, 10, -1, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 25, 10, 26, 20, -1, 0, -1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[3], 29, 0, 0, 0, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 4; + gEasyChatStruct->unkC4 = 2; +} + +void sub_80EAA44(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 24, 10, 30, 20, 0, 0, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 24, 10, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 23, 10, 24, 20, 0, 0, -1, 0); + sub_80EAC30(&gEasyChatStruct->unk148[1], 29, 0, 0, 0, gEasyChatStruct->unk6C8); + + gEasyChatStruct->unkC2 = 2; + gEasyChatStruct->unkC4 = 1; +} + +void sub_80EAAD4(void) +{ + sub_80EABD4(gEasyChatStruct->unkC8[0], 0, 10, 30, 15, 0, 1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[0], 0, 0, 0, 0, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[1], 0, 15, 30, 20, 0, 0, 0, -1); + sub_80EAC30(&gEasyChatStruct->unk148[1], 0, 5, 0, 1, gEasyChatStruct->unk6C8); + + sub_80EABD4(gEasyChatStruct->unkC8[2], 0, 10, 30, 10, 0, 0, 0, 1); + sub_80EAC30(&gEasyChatStruct->unk148[2], 0, 10, 0, 0, gEasyChatStruct->unk1C8); + + sub_80EABD4(gEasyChatStruct->unkC8[3], 0, 20, 30, 20, 0, -1, 0, 0); + sub_80EAC30(&gEasyChatStruct->unk148[3], 0, 20, 0, -1, gEasyChatStruct->unk1C8); + + gEasyChatStruct->unkC2 = 4; + gEasyChatStruct->unkC4 = 5; +} + +void sub_80EABD4(u16 *a, u16 b, u16 c, u16 d, u16 e, u16 f, u16 g, u16 h, u16 i) +{ + a[0] = b; + a[1] = d; + a[2] = c; + a[3] = e; + a[4] = f; + a[5] = h; + a[6] = g; + a[7] = i; +} + +void sub_80EAC0C(u16 *a) +{ + a[0] += a[4]; + a[1] += a[5]; + a[2] += a[6]; + a[3] += a[7]; +} + +void sub_80EAC30(struct UnknownEasyChatStruct1 *a, u16 b, u16 c, u16 d, u16 e, void *f) +{ + a->unk0 = b; + a->unk2 = c; + a->unk4 = d; + a->unk6 = e; + a->unk8 = f; +} + +void sub_80EAC48(struct UnknownEasyChatStruct1 *a) +{ + a->unk0 += a->unk4; + a->unk2 += a->unk6; +} + +void sub_80EAC5C(void) +{ + u16 i; + + if (gEasyChatStruct->unkBC != 0) + { + for (i = 0; i < gEasyChatStruct->unkC2; i++) + sub_80EACBC((void *)(VRAM + 0x6800), gEasyChatStruct->unkC8[i], &gEasyChatStruct->unk148[i]); + gEasyChatStruct->unkBC = 0; + } +} + +void sub_80EACBC(void *a, u16 *b, struct UnknownEasyChatStruct1 *c) +{ + s16 r6 = b[1] - b[0]; + s16 r5 = b[3] - b[2]; + + if (r6 > 0 && r5 > 0) + sub_809D104(a, b[0], b[2], c->unk8, c->unk0, c->unk2, r6, r5); +} + +// Strange... +void sub_80EAD08(void) +{ + u16 *r4; + u16 r2; + u16 i; + + r4 = gUnknown_03004DE0[gUnknown_03004DC0.srcBank]; + r4 += 88; + r2 = (gEasyChatStruct->unk1BA - 88) & 0xFF; + + for (i = 0; i < 64; i++) + { + if (gEasyChatStruct->unk1BA + i == 128) + r2 = (-i - 88) & 0xFF; + *r4++ = r2; + } +} + +extern const u8 *const gEasyChatGroupNames[]; +extern const u8 gEasyChatGroupSizes[]; +extern const u16 gEasyChatWordsByLetter[]; +extern const u16 gEasyChatWordsAlphabetized[]; + +u8 *CopyEasyChatGroupName(u8 *dest, u8 group, int unused) +{ + return StringCopy(dest, gEasyChatGroupNames[group]); +} + +bool8 sub_80EAD7C(u8 group) +{ + switch (group) + { + case EC_GROUP_TRENDY_SAYING: + return FlagGet(FLAG_SYS_HIPSTER_MEET); + case EC_GROUP_EVENTS: + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + return FlagGet(FLAG_SYS_GAME_CLEAR); + case EC_GROUP_POKEMON_2: + return sub_80EB9C8(); + default: + return TRUE; + } +} + +bool8 sub_80EADC0(u8 group, u16 word) +{ + switch (group) + { + case EC_GROUP_TRENDY_SAYING: + if (gEasyChatStruct->unk40[2][11 + group] == 0) + return FALSE; + return sub_80EB868(word); + case EC_GROUP_POKEMON_1: + return GetSetPokedexFlag(SpeciesToNationalPokedexNum(word), 0); + case EC_GROUP_EVENTS: + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + if (gEasyChatStruct->unk40[2][11 + group] == 0) + return FALSE; + return TRUE; + case EC_GROUP_POKEMON_2: + return sub_80EB9C8(); + default: + return TRUE; + } +} + +u16 sub_80EAE88(u8 group) +{ + switch (group) + { + case EC_GROUP_POKEMON_1: + return GetHoennPokedexCount(0); + case EC_GROUP_TRENDY_SAYING: + return sub_80EB8C0(); + default: + if (sub_80EAD7C(group)) + return gEasyChatGroupSizes[group]; + return FALSE; + } +} + +#if GERMAN +__attribute__((naked)) +void sub_80EAECC(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x10\n\ + movs r7, 0\n\ + ldr r1, _080EAF08 @ =gEasyChatStruct\n\ + ldr r0, [r1]\n\ + ldr r3, _080EAF0C @ =0x0000446c\n\ + adds r3, r0, r3\n\ + str r3, [sp, 0x4]\n\ +_080EAEE4:\n\ + ldr r1, _080EAF10 @ =gEasyChatWordsByLetter\n\ + lsls r2, r7, 1\n\ + adds r0, r2, r1\n\ + ldrh r4, [r0]\n\ + adds r3, r7, 0x1\n\ + lsls r0, r3, 1\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + str r0, [sp]\n\ + ldr r0, [sp, 0x4]\n\ + adds r1, r0, r2\n\ + movs r0, 0\n\ + strh r0, [r1]\n\ + mov r9, r0\n\ + adds r6, r4, 0\n\ + mov r10, r2\n\ + str r3, [sp, 0x8]\n\ + b _080EB00C\n\ + .align 2, 0\n\ +_080EAF08: .4byte gEasyChatStruct\n\ +_080EAF0C: .4byte 0x0000446c\n\ +_080EAF10: .4byte gEasyChatWordsByLetter\n\ +_080EAF14:\n\ + ldr r2, _080EAFAC @ =gEasyChatWordsAlphabetized\n\ + adds r0, r6, 0\n\ + adds r1, r0, 0x1\n\ + lsls r1, 16\n\ + lsrs r6, r1, 16\n\ + lsls r0, 1\n\ + adds r0, r2\n\ + ldrh r1, [r0]\n\ + adds r4, r1, 0\n\ + ldr r0, _080EAFB0 @ =0x0000feff\n\ + cmp r1, r0\n\ + bls _080EAFC8\n\ + movs r0, 0xFF\n\ + ands r1, r0\n\ + movs r3, 0\n\ + subs r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldr r0, _080EAFB4 @ =0x0000ffff\n\ + cmp r5, r0\n\ + beq _080EB00C\n\ + lsls r0, r7, 4\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + subs r0, r7\n\ + lsls r0, 2\n\ + mov r8, r0\n\ +_080EAF4A:\n\ + adds r1, r6, 0\n\ + adds r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + lsls r1, 1\n\ + ldr r0, _080EAFAC @ =gEasyChatWordsAlphabetized\n\ + adds r1, r0\n\ + ldrh r4, [r1]\n\ + lsrs r0, r4, 9\n\ + ldr r1, _080EAFB8 @ =0x000001ff\n\ + adds r2, r1, 0\n\ + adds r1, r4, 0\n\ + ands r1, r2\n\ + str r3, [sp, 0xC]\n\ + bl sub_80EADC0\n\ + lsls r0, 24\n\ + ldr r3, [sp, 0xC]\n\ + cmp r0, 0\n\ + beq _080EAF9E\n\ + cmp r3, 0\n\ + bne _080EAF9E\n\ + ldr r3, _080EAFBC @ =gEasyChatStruct\n\ + ldr r2, [r3]\n\ + mov r1, r9\n\ + adds r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + lsls r1, 1\n\ + add r1, r8\n\ + ldr r3, _080EAFC0 @ =0x00000b78\n\ + adds r0, r2, r3\n\ + adds r0, r1\n\ + strh r4, [r0]\n\ + ldr r0, _080EAFC4 @ =0x0000446c\n\ + adds r2, r0\n\ + add r2, r10\n\ + ldrh r0, [r2]\n\ + adds r0, 0x1\n\ + strh r0, [r2]\n\ + movs r3, 0x1\n\ +_080EAF9E:\n\ + subs r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldr r1, _080EAFB4 @ =0x0000ffff\n\ + cmp r5, r1\n\ + bne _080EAF4A\n\ + b _080EB00C\n\ + .align 2, 0\n\ +_080EAFAC: .4byte gEasyChatWordsAlphabetized\n\ +_080EAFB0: .4byte 0x0000feff\n\ +_080EAFB4: .4byte 0x0000ffff\n\ +_080EAFB8: .4byte 0x000001ff\n\ +_080EAFBC: .4byte gEasyChatStruct\n\ +_080EAFC0: .4byte 0x00000b78\n\ +_080EAFC4: .4byte 0x0000446c\n\ +_080EAFC8:\n\ + lsrs r0, r4, 9\n\ + ldr r3, _080EB030 @ =0x000001ff\n\ + adds r2, r3, 0\n\ + adds r1, r4, 0\n\ + ands r1, r2\n\ + bl sub_80EADC0\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080EB00C\n\ + ldr r0, _080EB034 @ =gEasyChatStruct\n\ + ldr r2, [r0]\n\ + mov r1, r9\n\ + adds r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + lsls r1, 1\n\ + lsls r0, r7, 4\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + subs r0, r7\n\ + lsls r0, 2\n\ + adds r1, r0\n\ + ldr r3, _080EB038 @ =0x00000b78\n\ + adds r0, r2, r3\n\ + adds r0, r1\n\ + strh r4, [r0]\n\ + ldr r0, _080EB03C @ =0x0000446c\n\ + adds r2, r0\n\ + add r2, r10\n\ + ldrh r0, [r2]\n\ + adds r0, 0x1\n\ + strh r0, [r2]\n\ +_080EB00C:\n\ + ldr r1, [sp]\n\ + cmp r6, r1\n\ + bcs _080EB014\n\ + b _080EAF14\n\ +_080EB014:\n\ + ldr r3, [sp, 0x8]\n\ + lsls r0, r3, 16\n\ + lsrs r7, r0, 16\n\ + cmp r7, 0x1A\n\ + bhi _080EB020\n\ + b _080EAEE4\n\ +_080EB020:\n\ + add sp, 0x10\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080EB030: .4byte 0x000001ff\n\ +_080EB034: .4byte gEasyChatStruct\n\ +_080EB038: .4byte 0x00000b78\n\ +_080EB03C: .4byte 0x0000446c\n\ + .syntax divided\n"); +} +#else +void sub_80EAECC(void) +{ + u16 i; + u16 r9; + u16 r6; + u16 r5; + bool8 r7; + + for (i = 0; i < 27; i++) + { + u16 word = gEasyChatWordsByLetter[i]; + u16 sp0 = gEasyChatWordsByLetter[i + 1]; + + gEasyChatStruct->unk4142[i] = 0; + r9 = 0; + r6 = word; + while (r6 < sp0) + { + u16 word = gEasyChatWordsAlphabetized[r6++]; + + if (word > 0xFEFF) + { + r5 = word & 0xFF; + r7 = FALSE; + while (--r5 != 0xFFFF) + { + word = gEasyChatWordsAlphabetized[r6++]; + if (sub_80EADC0(EC_GROUP(word), EC_INDEX(word)) && !r7) + { + gEasyChatStruct->unkB78[i][r9++] = word; + gEasyChatStruct->unk4142[i]++; + r7 = TRUE; + } + } + } + else + { + if (sub_80EADC0(EC_GROUP(word), EC_INDEX(word))) + { + gEasyChatStruct->unkB78[i][r9++] = word; + gEasyChatStruct->unk4142[i]++; + } + } + } + } +} +#endif + +extern const u8 *const gEasyChatGroupWords[]; +extern const u16 *const gEasyChatGroupOrders[]; +extern const u8 gEasyChatGroupSizes[]; + +// loads strings of all easy chat words except for the species and move names. +void LoadEasyChatStrings(void) +{ + u16 group; + u16 index; + + for (group = 0; group <= EC_GROUP_POKEMON_2; group++) + { + if (group != EC_GROUP_POKEMON_1 + && group != EC_GROUP_POKEMON_2 + && group != EC_GROUP_MOVE_1 + && group != EC_GROUP_MOVE_2) + { + const u8 *wordText = gEasyChatGroupWords[group]; + + index = 0; + while (*wordText != EOS) + { + gEasyChatStruct->ecWordStrings[group][index] = wordText; + + // Find the end of the current word + while (*wordText != EOS) + wordText++; + // Skip over the EOS + wordText++; + + index++; + } + } + } +} + +void sub_80EB0B0(void) +{ + const u16 *sp0; + u16 r7; + u16 r9; + u16 r8; + + if (gEasyChatStruct->unk26 == 0) + { + u16 group = gEasyChatStruct->unk1B8; + + gEasyChatStruct->unk4178[group] = 0; + r7 = 0; + r9 = 0; + sp0 = gEasyChatGroupOrders[group]; + for (r8 = 0; r8 < gEasyChatGroupSizes[gEasyChatStruct->unk1B8]; r8++) + { + if (sub_80EADC0(group, sp0[r8])) + { + gEasyChatStruct->unk9A2A[r9][r7] = ((group & 0x7F) << 9) | (sp0[r8] & 0x1FF); + gEasyChatStruct->unk4178[group]++; + r7++; + if (r7 > 1) + { + r7 = 0; + r9++; + } + } + } + } + else + { + u8 r2 = gEasyChatStruct->unk1B8; + u16 r3 = 0; + u16 r6 = 0; + u16 r5; + + for (r5 = 0; r5 < gEasyChatStruct->unk4142[r2]; r5++) + { + gEasyChatStruct->unk9A2A[r6][r3] = gEasyChatStruct->unkB78[r2][r5]; + r3++; + if (r3 > 1) + { + r3 = 0; + r6++; + } + } + } +} + +u8 *sub_80EB218(u8 *dest, u16 word, u16 c) +{ + u8 *wordText; + + if (sub_80EB37C(word)) + { + wordText = StringCopy(dest, gOtherText_ThreeQuestions); + } + else if (word == 0xFFFF) + { + wordText = dest; + wordText[0] = EOS; // Why? It's going to get overwritten. + } + else + { + u16 group = EC_GROUP(word); + u16 index = EC_INDEX(word); + + switch (group) + { + case EC_GROUP_POKEMON_1: + case EC_GROUP_POKEMON_2: + wordText = StringCopy(dest, gSpeciesNames[index]); + break; + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + wordText = StringCopy(dest, gMoveNames[index]); + break; + default: + wordText = StringCopy(dest, gEasyChatStruct->ecWordStrings[group][index]); + break; + } + } + + wordText[0] = EXT_CTRL_CODE_BEGIN; + wordText[1] = 0x13; + wordText[2] = c * 8; + wordText += 3; + + *wordText = EOS; + + return wordText; +} + +u16 sub_80EB2D4(u16 word) +{ + const u8 *wordText; + u16 length; + + if (sub_80EB37C(word)) + { + return StringLength(gOtherText_ThreeQuestions); + } + else if (word == 0xFFFF) + { + return 0; + } + else + { + u16 group = EC_GROUP(word); + u16 index = EC_INDEX(word); + + switch (group) + { + case EC_GROUP_POKEMON_1: + case EC_GROUP_POKEMON_2: + wordText = gSpeciesNames[index]; + break; + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + wordText = gMoveNames[index]; + break; + default: + wordText = gEasyChatStruct->ecWordStrings[group][index]; + break; + } + } + + length = 0; + while (*wordText != EOS) + { + wordText++; + length++; + } + return length; +} + +bool8 sub_80EB37C(u16 word) +{ + const u16 *r4; + u16 i; + + if (word == 0xFFFF) + { + return FALSE; + } + else + { + u16 group = EC_GROUP(word); + u16 index = EC_INDEX(word); + + if (group <= EC_GROUP_POKEMON_2) + { + switch (group) + { + case EC_GROUP_POKEMON_1: + case EC_GROUP_POKEMON_2: + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + r4 = (u16 *)gEasyChatGroupWords[group]; + for (i = 0; i < gEasyChatGroupSizes[group]; i++) + { + if (index == r4[i]) + return FALSE; + } + break; + default: + if (index < gEasyChatGroupSizes[group]) + return FALSE; + break; + } + } + return TRUE; + } +} + +#if GERMAN +u32 de_sub_80EB748(s32 group, s32 index) +{ + s32 i; + u16 *words; + u32 r7 = 0; + + switch (group) + { + case EC_GROUP_POKEMON_1: + case EC_GROUP_POKEMON_2: + case EC_GROUP_MOVE_1: + case EC_GROUP_MOVE_2: + words = (u16 *)gEasyChatGroupWords[group]; + for (i = 0; i < gEasyChatGroupSizes[group]; i++) + { + if (index == words[i]) + { + r7 = i; + break; + } + } + break; + default: + r7 = index; + break; + } + + return r7; +} +#endif + +// returns the end of the destination buffer text +u8 *EasyChat_GetWordText(u8 *dst, u16 word) +{ + u16 group; + u16 wordIndex; + const u8 *src; + u16 i; + + if (sub_80EB37C(word)) + return StringCopy(dst, gOtherText_ThreeQuestions); + + if (word == 0xFFFF) + { + *dst = EOS; + return dst; + } + else + { + group = EC_GROUP(word); + wordIndex = EC_INDEX(word); + switch (group) + { + case EC_GROUP_POKEMON_1: // 0 + case EC_GROUP_POKEMON_2: // 21 + dst = StringCopy(dst, gSpeciesNames[wordIndex]); + break; + case EC_GROUP_MOVE_1: // 18 + case EC_GROUP_MOVE_2: // 19 + dst = StringCopy(dst, gMoveNames[wordIndex]); + break; + default: + src = gEasyChatGroupWords[group]; + for (i = wordIndex - 1; i != 0xFFFF; i--) + { + while (*src++ != EOS) + ; + } + dst = StringCopy(dst, src); + break; + } + *dst = EOS; + return dst; + } +} + +u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) +{ + u16 i; + u16 n; + + const u16 i1 = arg2 - 1; + + for (i = 0; i < arg3; i++) + { + u16 word; + + for (n = 0; n < i1; n++) + { + dst = EasyChat_GetWordText(dst, words[0]); + + if (words[0] != 0xFFFF) + { + dst[0] = CHAR_SPACE; + dst++; + } + + words++; + } + + word = words[0]; + words++; + dst = EasyChat_GetWordText(dst, word); + + dst[0] = CHAR_NEWLINE; + dst++; + } + + dst--; + dst[0] = EOS; + + return dst; +} + +u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) +{ + u16 i; + u16 n; + + const u16 i1 = arg2 - 1; + + for (i = 0; i < arg3; i++) + { + u16 word; + + for (n = 0; n < i1; n++) + { + dst = EasyChat_GetWordText(dst, words[0]); + + if (words[0] != 0xFFFF) + { + dst[0] = CHAR_SPACE; + dst++; + } + + words++; + } + + word = words[0]; + words++; + dst = EasyChat_GetWordText(dst, word); + + // Only difference with ConvertEasyChatWordsToString + dst[0] = (i == 0) ? CHAR_NEWLINE : CHAR_PROMPT_SCROLL; + dst++; + } + + dst--; + dst[0] = EOS; + + return dst; +} + + +u16 unref_sub_80EB5E0(u16 arg0) +{ + const u8 *chars; + u16 i; + u16 length; + int group, word; + + + if (arg0 == 0xFFFF) + return 0; + + group = EC_GROUP(arg0); + word = EC_INDEX(arg0); + switch (group) + { + case EC_GROUP_POKEMON_1: // 0 + case EC_GROUP_POKEMON_2: // 21 + chars = gSpeciesNames[word]; + break; + case EC_GROUP_MOVE_1: // 18 + case EC_GROUP_MOVE_2: // 19 + chars = gMoveNames[word]; + break; + default: + chars = gEasyChatGroupWords[group]; + for (i = word - 1; i != 0xFFFF; i--) + { + while (*chars++ != EOS) + ; + } + break; + } + + length = 0; + while (*chars != EOS) + { + chars++; + length++; + } + + return length; +} + +bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3) +{ + return FALSE; +} + +void unref_sub_80EB684(u8 arg0, u16 arg1) +{ + u16 *ptr; + u16 c; + + // FIXME: find actual tv shows used + switch (arg0) + { + case 5: + c = 6; + ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x04); + break; + case 7: + c = 2; + ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x1C); + break; + case 8: + c = 1; + ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x02); + break; + default: + return; + } + + c -= 1; + while (c != 0xFFFF) + { + *ptr = -1; + ptr++; + c -= 1; + } +} + +void sub_80EB6FC(u16 *arg0, u16 arg1) +{ + u16 i; + + for (i = arg1 - 1; i != 0xFFFF; i--) + { + *arg0 = 0xFFFF; + arg0++; + } + +} + +u16 sub_80EB72C(u16 group) +{ + u16 local1 = Random() % gEasyChatGroupSizes[group]; + + if (group == EC_GROUP_POKEMON_1 + || group == EC_GROUP_POKEMON_2 + || group == EC_GROUP_MOVE_1 + || group == EC_GROUP_MOVE_2) + { + local1 = ((u16 *) gEasyChatGroupWords[group])[local1]; + } + + return ((group & 0x7F) << 9) | (local1 & 0x1FF); +} + +u16 sub_80EB784(u16 group) +{ + if (!sub_80EAD7C(group)) + return -1; + + if (group != EC_GROUP_POKEMON_1) + { + if (group == EC_GROUP_TRENDY_SAYING) + return sub_80EB960(); + } + else + { + return sub_80EB9D8(); + } + + return sub_80EB72C(group); +} + +void sub_80EB7C4(void) +{ + u16 *words; + u16 arg1, arg2; + + switch (gSpecialVar_0x8004) + { + case 0: + words = gSaveBlock1.easyChats.unk2B1C; + arg1 = 2; + arg2 = 2; + break; + case 1: + words = gSaveBlock1.easyChats.unk2B28; + if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20)) + { + arg1 = 2; + arg2 = 3; + } + else + { + arg1 = 3; + arg2 = 2; + } + break; + case 2: + words = gSaveBlock1.easyChats.unk2B34; + arg1 = 3; + arg2 = 2; + break; + case 3: + words = gSaveBlock1.easyChats.unk2B40; + arg1 = 3; + arg2 = 2; + break; + default: + return; + } + + ConvertEasyChatWordsToString(gStringVar4, words, arg1, arg2); + ShowFieldAutoScrollMessage(gStringVar4); +} + +void BufferRandomHobbyOrLifestyleString(void) +{ + u16 group, local2; + + if (Random() & 1) + group = EC_GROUP_HOBBIES; + else + group = EC_GROUP_LIFESTYLE; + + local2 = sub_80EB784(group); + EasyChat_GetWordText(gStringVar2, local2); +} + +u8 sub_80EB868(u8 arg0) +{ + int offset; + int index; + + index = arg0 / 8; + offset = arg0 % 8; + return (gSaveBlock1.unk2D8C[index] >> offset) & 1; +} + +void sub_80EB890(u8 arg0) +{ + int offset; + int index; + + if (arg0 < 33) + { + index = arg0 / 8; + offset = arg0 % 8; + gSaveBlock1.unk2D8C[index] |= 1 << offset; + } +} + +u8 sub_80EB8C0(void) +{ + u8 i, count; + + for (i = 0, count = 0; i < 33; i++) + { + if (sub_80EB868(i)) + count++; + } + return count; +} + +u16 sub_80EB8EC(void) +{ + u16 i; + u16 local1, local2; + + local1 = sub_80EB8C0(); + if (local1 == 33) + return -1; + + local2 = Random() % (33 - local1); + for (i = 0; i < 33; i++) + { + if (sub_80EB868(i) == 0) + { + if (local2 == 0) + { + sub_80EB890(i); + return (i & 0x1FF) | 0x2800; + } + local2--; + } + } + return -1; +} + +static u16 sub_80EB960(void) +{ + u16 i; + u16 local1; + + local1 = sub_80EB8C0(); + if (local1 == 0) + return -1; + + local1 = Random() % local1; + for (i = 0; i < 33; i++) + { + if (sub_80EB868(i)) + { + if (local1 == 0) + return (i & 0x1FF) | 0x2800; + local1--; + } + } + + return -1; +} + +u8 sub_80EB9C8(void) +{ + return IsNationalPokedexEnabled(); +} + +static u16 sub_80EB9D8(void) +{ + u16 *speciesList; + u16 local1; + u16 i; + + local1 = sub_80EAE88(0); + + if (local1 == 0) + return -1; + + local1 = Random() % local1; + speciesList = (u16 *)gEasyChatGroupWords[EC_GROUP_POKEMON_1]; + for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON_1]; i++) + { + const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList); + const u8 local2 = GetSetPokedexFlag(dexNum, 0); + + if (local2) + { + if (local1 == 0) + return *speciesList & 0x1FF; + local1--; + } + speciesList++; + } + return -1; +} diff --git a/src/engine/cable_car_util.c b/src/engine/cable_car_util.c new file mode 100644 index 000000000..02bfbc195 --- /dev/null +++ b/src/engine/cable_car_util.c @@ -0,0 +1,47 @@ +#include "global.h" +#include "cable_car_util.h" + +// static types + +// static declarations + +// rodata + +// text + +void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) +{ + u8 i; + u8 j; + u8 x; + u8 y; + + for (i = 0, y = top; i < height; i++) + { + for (x = left, j = 0; j < width; j++) + { + *(u16 *)&((u8 *)dest)[y * 64 + x * 2] = value; + x = (x + 1) % 32; + } + y = (y + 1) % 32; + } +} + +void CableCarUtil_CopyWrapped(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height) +{ + u8 i; + u8 j; + u8 x; + u8 y; + const u16 *_src; + + for (i = 0, _src = src, y = top; i < height; i++) + { + for (x = left, j = 0; j < width; j++) + { + *(u16 *)&((u8 *)dest)[y * 64 + x * 2] = *_src++; + x = (x + 1) % 32; + } + y = (y + 1) % 32; + } +} diff --git a/src/field/easy_chat.c b/src/field/easy_chat.c deleted file mode 100644 index 94532506f..000000000 --- a/src/field/easy_chat.c +++ /dev/null @@ -1,445 +0,0 @@ -#include "global.h" -#include "easy_chat.h" -#include "constants/easy_chat.h" -#include "data2.h" -#include "event_data.h" -#include "field_message_box.h" -#include "pokedex.h" -#include "random.h" -#include "string_util.h" -#include "strings.h" -#include "strings2.h" -#include "text.h" - -static bool8 sub_80EB680(u16 *, u16, u16, u16); -static u16 sub_80EB9D8(void); -static u16 sub_80EB960(void); - -extern void *gEasyChatGroupWords[]; -extern const u8 gEasyChatGroupSizes[]; - -extern u16 gSpecialVar_0x8004; - -IWRAM_DATA u8 gUnknown_03000740; - -// returns the end of the destination buffer text -u8 *EasyChat_GetWordText(u8 *dst, u16 word) -{ - u16 group; - u16 wordIndex; - u8 *src; - u16 i; - - if (sub_80EB37C(word)) - return StringCopy(dst, gOtherText_ThreeQuestions); - - if (word == 0xFFFF) - { - *dst = EOS; - return dst; - } - else - { - group = EC_GROUP(word); - wordIndex = EC_INDEX(word); - switch (group) - { - case EC_GROUP_POKEMON: // 0 - case EC_GROUP_POKEMON_2: // 21 - dst = StringCopy(dst, gSpeciesNames[wordIndex]); - break; - case EC_GROUP_MOVE_1: // 18 - case EC_GROUP_MOVE_2: // 19 - dst = StringCopy(dst, gMoveNames[wordIndex]); - break; - default: - src = gEasyChatGroupWords[group]; - for (i = wordIndex - 1; i != 0xFFFF; i--) - { - while (*src++ != EOS) - ; - } - dst = StringCopy(dst, src); - break; - } - *dst = EOS; - return dst; - } -} - -u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) -{ - u16 i; - u16 n; - - const u16 i1 = arg2 - 1; - - for (i = 0; i < arg3; i++) - { - u16 word; - - for (n = 0; n < i1; n++) - { - dst = EasyChat_GetWordText(dst, words[0]); - - if (words[0] != 0xFFFF) - { - dst[0] = CHAR_SPACE; - dst++; - } - - words++; - } - - word = words[0]; - words++; - dst = EasyChat_GetWordText(dst, word); - - dst[0] = CHAR_NEWLINE; - dst++; - } - - dst--; - dst[0] = EOS; - - return dst; -} - -u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) -{ - u16 i; - u16 n; - - const u16 i1 = arg2 - 1; - - for (i = 0; i < arg3; i++) - { - u16 word; - - for (n = 0; n < i1; n++) - { - dst = EasyChat_GetWordText(dst, words[0]); - - if (words[0] != 0xFFFF) - { - dst[0] = CHAR_SPACE; - dst++; - } - - words++; - } - - word = words[0]; - words++; - dst = EasyChat_GetWordText(dst, word); - - // Only difference with ConvertEasyChatWordsToString - dst[0] = (i == 0) ? CHAR_NEWLINE : CHAR_PROMPT_SCROLL; - dst++; - } - - dst--; - dst[0] = EOS; - - return dst; -} - - -u16 unref_sub_80EB5E0(u16 arg0) -{ - const u8 *chars; - u16 i; - u16 length; - int group, word; - - - if (arg0 == 0xFFFF) - return 0; - - group = EC_GROUP(arg0); - word = EC_INDEX(arg0); - switch (group) - { - case EC_GROUP_POKEMON: // 0 - case EC_GROUP_POKEMON_2: // 21 - chars = gSpeciesNames[word]; - break; - case EC_GROUP_MOVE_1: // 18 - case EC_GROUP_MOVE_2: // 19 - chars = gMoveNames[word]; - break; - default: - chars = gEasyChatGroupWords[group]; - for (i = word - 1; i != 0xFFFF; i--) - { - while (*chars++ != EOS) - ; - } - break; - } - - length = 0; - while (*chars != EOS) - { - chars++; - length++; - } - - return length; -} - -static bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3) -{ - return FALSE; -} - -void unref_sub_80EB684(u8 arg0, u16 arg1) -{ - u16 *ptr; - u16 c; - - // FIXME: find actual tv shows used - switch (arg0) - { - case 5: - c = 6; - ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x04); - break; - case 7: - c = 2; - ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x1C); - break; - case 8: - c = 1; - ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x02); - break; - default: - return; - } - - c -= 1; - while (c != 0xFFFF) - { - *ptr = -1; - ptr++; - c -= 1; - } -} - -void sub_80EB6FC(u16 *arg0, u16 arg1) -{ - u16 i; - - for (i = arg1 - 1; i != 0xFFFF; i--) - { - *arg0 = 0xFFFF; - arg0++; - } - -} - -u16 sub_80EB72C(u16 group) -{ - u16 local1 = Random() % gEasyChatGroupSizes[group]; - - if (group == EC_GROUP_POKEMON - || group == EC_GROUP_POKEMON_2 - || group == EC_GROUP_MOVE_1 - || group == EC_GROUP_MOVE_2) - { - local1 = ((u16 *) gEasyChatGroupWords[group])[local1]; - } - - return ((group & 0x7F) << 9) | (local1 & 0x1FF); -} - -u16 sub_80EB784(u16 group) -{ - if (!sub_80EAD7C(group)) - return -1; - - if (group != EC_GROUP_POKEMON) - { - if (group == EC_GROUP_TRENDY_SAYING) - return sub_80EB960(); - } - else - { - return sub_80EB9D8(); - } - - return sub_80EB72C(group); -} - -void sub_80EB7C4(void) -{ - u16 *words; - u16 arg1, arg2; - - switch (gSpecialVar_0x8004) - { - case 0: - words = gSaveBlock1.easyChats.unk2B1C; - arg1 = 2; - arg2 = 2; - break; - case 1: - words = gSaveBlock1.easyChats.unk2B28; - if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20)) - { - arg1 = 2; - arg2 = 3; - } - else - { - arg1 = 3; - arg2 = 2; - } - break; - case 2: - words = gSaveBlock1.easyChats.unk2B34; - arg1 = 3; - arg2 = 2; - break; - case 3: - words = gSaveBlock1.easyChats.unk2B40; - arg1 = 3; - arg2 = 2; - break; - default: - return; - } - - ConvertEasyChatWordsToString(gStringVar4, words, arg1, arg2); - ShowFieldAutoScrollMessage(gStringVar4); -} - -void BufferRandomHobbyOrLifestyleString(void) -{ - u16 group, local2; - - if (Random() & 1) - group = EC_GROUP_HOBBIES; - else - group = EC_GROUP_LIFESTYLE; - - local2 = sub_80EB784(group); - EasyChat_GetWordText(gStringVar2, local2); -} - -u8 sub_80EB868(u8 arg0) -{ - int offset; - int index; - - index = arg0 / 8; - offset = arg0 % 8; - return (gSaveBlock1.unk2D8C[index] >> offset) & 1; -} - -void sub_80EB890(u8 arg0) -{ - int offset; - int index; - - if (arg0 < 33) - { - index = arg0 / 8; - offset = arg0 % 8; - gSaveBlock1.unk2D8C[index] |= 1 << offset; - } -} - -u8 sub_80EB8C0(void) -{ - u8 i, count; - - for (i = 0, count = 0; i < 33; i++) - { - if (sub_80EB868(i)) - count++; - } - return count; -} - -u16 sub_80EB8EC(void) -{ - u16 i; - u16 local1, local2; - - local1 = sub_80EB8C0(); - if (local1 == 33) - return -1; - - local2 = Random() % (33 - local1); - for (i = 0; i < 33; i++) - { - if (sub_80EB868(i) == 0) - { - if (local2 == 0) - { - sub_80EB890(i); - return (i & 0x1FF) | 0x2800; - } - local2--; - } - } - return -1; -} - -static u16 sub_80EB960(void) -{ - u16 i; - u16 local1; - - local1 = sub_80EB8C0(); - if (local1 == 0) - return -1; - - local1 = Random() % local1; - for (i = 0; i < 33; i++) - { - if (sub_80EB868(i)) - { - if (local1 == 0) - return (i & 0x1FF) | 0x2800; - local1--; - } - } - - return -1; -} - -u8 sub_80EB9C8(void) -{ - return IsNationalPokedexEnabled(); -} - -static u16 sub_80EB9D8(void) -{ - u16 *speciesList; - u16 local1; - u16 i; - - local1 = sub_80EAE88(0); - - if (local1 == 0) - return -1; - - local1 = Random() % local1; - speciesList = (u16 *) gEasyChatGroupWords[EC_GROUP_POKEMON]; - for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON]; i++) - { - const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList); - const u8 local2 = GetSetPokedexFlag(dexNum, 0); - - if (local2) - { - if (local1 == 0) - return *speciesList & 0x1FF; - local1--; - } - speciesList++; - } - return -1; -} diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index ba7c3d68e..77b4c8b5c 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -2440,7 +2440,7 @@ void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjT MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjTemplate->graphicsId, mapObjTemplate->movementType, sprTemplate, subspriteTables); } -u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c, s16 d, u8 subpriority) +u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) { struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; @@ -2449,7 +2449,7 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 c MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables); if (spriteTemplate.paletteTag != 0xFFFF) sub_805BDF8(spriteTemplate.paletteTag); - spriteId = CreateSprite(&spriteTemplate, c, d, subpriority); + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); if (spriteId != 64 && subspriteTables != NULL) { SetSubspriteTables(&gSprites[spriteId], subspriteTables); diff --git a/src/field/field_weather.c b/src/field/field_weather.c index 4a819bddf..c954242a1 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -46,6 +46,7 @@ const u8 DroughtPaletteData_2[] = INCBIN_U8("graphics/weather/drought2.bin.lz"); const u8 DroughtPaletteData_3[] = INCBIN_U8("graphics/weather/drought3.bin.lz"); const u8 DroughtPaletteData_4[] = INCBIN_U8("graphics/weather/drought4.bin.lz"); const u8 DroughtPaletteData_5[] = INCBIN_U8("graphics/weather/drought5.bin.lz"); + extern u8 (*gUnknown_0202FC48)[32]; extern u8 gUnknown_0202F9E8[32]; diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index d2a5197a0..6c3c6c2b8 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -1,4 +1,5 @@ #include "global.h" +#include "easy_chat.h" #include "pokemon.h" #include "pokemon_menu.h" #include "party_menu.h" @@ -53,7 +54,6 @@ extern u16 gUnknown_0202E8F8; extern void (*gUnknown_03004AE4)(u8 taskID, u16 itemID, TaskFunc func); extern TaskFunc gUnknown_03005CF0; -void sub_80E62A0(u8 arg0, struct MailStruct* arg1, void* arg2, u8 arg3); void sub_808A520(void); void sub_80A61D0(void); void CB2_InitFlyRegionMap(void); @@ -419,7 +419,7 @@ static void sub_808A180(u8 taskID) { u8 mailID = GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_MAIL); DestroyTask(taskID); - sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808A520, 3); + sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808A520, 3); } } @@ -458,7 +458,7 @@ static void sub_808A2DC(u8 taskID) { u8 mailID = GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_MAIL); DestroyTask(taskID); - sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808A520, 3); + sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808A520, 3); } static void sub_808A330(u8 taskID) @@ -1095,7 +1095,7 @@ static void sub_808B338(u8 taskID) gLastFieldPokeMenuOpened = sub_806CA38(taskID); mailID = GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_MAIL); DestroyTask(taskID); - sub_80E62A0(4, &gSaveBlock1.mail[mailID], sub_808B3EC, 3); + sub_80E62A0(4, gSaveBlock1.mail[mailID].words, sub_808B3EC, 3); } } diff --git a/src/pokenav_after.c b/src/pokenav_after.c index 84ed7b14b..330305ea3 100644 --- a/src/pokenav_after.c +++ b/src/pokenav_after.c @@ -6,16 +6,10 @@ #include "de_rom_8040FE0.h" #include "string_util.h" -void sub_80F700C(u8 *arg0, u16 arg1) { - struct Trainer *trainer; - u8 *ptr; - -#if ENGLISH - trainer = (struct Trainer *) &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0]; -#elif GERMAN - const u16 trainerIndex = gUnknown_083DFEC4->unkCEE8[arg1].unk0; - trainer = (struct Trainer *) &gTrainers[trainerIndex]; -#endif +void sub_80F700C(u8 *arg0, u16 arg1) +{ + const struct Trainer *trainer = &gTrainers[gUnknown_083DFEC4->unkCEE8[arg1].unk0]; + u8 *ptr = arg0; ptr = arg0; if (arg1 < gUnknown_083DFEC4->unkD158) @@ -23,7 +17,7 @@ void sub_80F700C(u8 *arg0, u16 arg1) { #if ENGLISH ptr = StringCopy(ptr, gTrainerClassNames[trainer->trainerClass]); #elif GERMAN - ptr = StringCopy(ptr, de_sub_8041024(0, trainerIndex)); + ptr = StringCopy(ptr, de_sub_8041024(0, gUnknown_083DFEC4->unkCEE8[arg1].unk0)); #endif ptr[0] = 0xFC; diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 7693cba7d..8a67390ad 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -22,69 +22,70 @@ extern u8 ewram[]; -struct UnknownPokenav0 { - /* 0x0000 */ u8 var0[0x0300]; - /* 0x0300 */ void (*var300)(void); - /* 0x0304 */ u16 var304; - /* 0x0306 */ u16 var306; - /* 0x0308 */ u32 var308; - /* 0x030C */ u8 fill030C[0x6a9f]; - /* 0x6dab */ u8 var6dab; - /* 0x6dac */ u8 var6dac; - /* 0x6dad */ u8 var6dad; - /* 0x6dae */ u8 var6dae; - /* 0x6daf */ u8 fill6daf[0x3]; - /* 0x6db2 */ u8 var6db2[5]; - /* 0x6db7 */ u8 fill6db7[0x25]; - /* 0x6ddc */ s8 var6ddc; - /* 0x6ddd */ u8 fill6ddd[0x13]; - /* 0x6df0 */ s8 var6df0; - /* 0x6df1 */ u8 fill6df1[0xB]; - /* 0x6dfc */ u8 var6dfc; - /* 0x6dfd */ u8 fill6dfd[0x17]; - /* 0x6e14 */ u8 var6e14; - /* 0x6e15 */ u8 var6e15; - /* 0x6e16 */ u8 var6e16; - /* 0x6e17 */ u8 var6e17; - /* 0x6e18 */ u8 fill6e18[0x78]; - /* 0x6e90 */ u8 var6e90; - /* 0x6e91 */ u8 fill6e91[0x4]; - /* 0x6e95 */ u8 var6e95; - /* 0x6e96 */ u8 var6e96[0x814]; - /* 0x76AA */ u8 var76aa; - /* 0x76AB */ u8 fill76AB[0x10BD]; - /* 0x8768 */ u32 var8768; - /* 0x876C */ u8 fill876C[0x2]; - /* 0x876E */ u8 var876E; - /* 0x876F */ u8 fill876F[0x5]; - /* 0x8774 */ s16 var8774; - /* 0x8776 */ u8 fill8776[0x55]; - /* 0x87CB */ u8 var87CB; - /* 0x87CC */ u8 fill87CC[0xC]; - /* 0x87D8 */ u8 var87D8; - /* 0x87D9 */ u8 fill87D9[0x1]; - /* 0x87DA */ s16 var87DA; - /* 0x87DC */ s16 var87DC; - /* 0x87DE */ u8 fill87DE[0x4a]; - /* 0x8828 */ u8 playerPartyCount; - /* 0x8829 */ u8 fill8829[0x07bf]; - /* 0x8FE8 */ s8 var8fe8; - /* 0x8FE9 */ u8 fill8FE9[0x16]; - /* 0x8FFF */ u8 var8fff[5]; - /* 0x9004 */ u8 fill9004[0x340]; - /* 0x9344 */ u8 var9344; - /* 0x9345 */ u8 fill9345[0x3b8b]; - /* 0xced0 */ u32 varCED0; - /* 0xced4 */ u8 fillCED4[0x284]; - /* 0xD158 */ u16 varD158; - /* 0xD15A */ u8 fillD15A[0x8]; - /* 0xD162 */ u8 varD162; +struct UnknownPokenav0 +{ + /* 0x0000 */ u8 var0[0x0300]; + /* 0x0300 */ void (*var300)(void); + /* 0x0304 */ u16 var304; + /* 0x0306 */ u16 var306; + /* 0x0308 */ u32 var308; + /* 0x030C */ u8 fill030C[0x6a9f]; + /* 0x6dab */ u8 var6dab; + /* 0x6dac */ u8 var6dac; + /* 0x6dad */ u8 var6dad; + /* 0x6dae */ u8 var6dae; + /* 0x6daf */ u8 fill6daf[0x3]; + /* 0x6db2 */ u8 var6db2[5]; + /* 0x6db7 */ u8 fill6db7[0x25]; + /* 0x6ddc */ s8 var6ddc; + /* 0x6ddd */ u8 fill6ddd[0x13]; + /* 0x6df0 */ s8 var6df0; + /* 0x6df1 */ u8 fill6df1[0xB]; + /* 0x6dfc */ u8 var6dfc; + /* 0x6dfd */ u8 fill6dfd[0x17]; + /* 0x6e14 */ u8 var6e14; + /* 0x6e15 */ u8 var6e15; + /* 0x6e16 */ u8 var6e16; + /* 0x6e17 */ u8 var6e17; + /* 0x6e18 */ u8 fill6e18[0x78]; + /* 0x6e90 */ u8 var6e90; + /* 0x6e91 */ u8 fill6e91[0x4]; + /* 0x6e95 */ u8 var6e95; + /* 0x6e96 */ u8 var6e96[0x814]; + /* 0x76AA */ u8 var76aa; + /* 0x76AB */ u8 fill76AB[0x10BD]; + /* 0x8768 */ u32 var8768; + /* 0x876C */ u8 fill876C[0x2]; + /* 0x876E */ u8 var876E; + /* 0x876F */ u8 fill876F[0x5]; + /* 0x8774 */ s16 var8774; + /* 0x8776 */ u8 fill8776[0x55]; + /* 0x87CB */ u8 var87CB; + /* 0x87CC */ u8 fill87CC[0xC]; + /* 0x87D8 */ u8 var87D8; + /* 0x87D9 */ u8 fill87D9[0x1]; + /* 0x87DA */ s16 var87DA; + /* 0x87DC */ s16 var87DC; + /* 0x87DE */ u8 fill87DE[0x4a]; + /* 0x8828 */ u8 playerPartyCount; + /* 0x8829 */ u8 fill8829[0x07bf]; + /* 0x8FE8 */ s8 var8fe8; + /* 0x8FE9 */ u8 fill8FE9[0x16]; + /* 0x8FFF */ u8 var8fff[5]; + /* 0x9004 */ u8 fill9004[0x340]; + /* 0x9344 */ u8 var9344; + /* 0x9345 */ u8 fill9345[0x3b8b]; + /* 0xced0 */ u32 varCED0; + /* 0xced4 */ u8 fillCED4[0x284]; + /* 0xD158 */ u16 varD158; + /* 0xD15A */ u8 fillD15A[0x8]; + /* 0xD162 */ u8 varD162; }; struct UnknownPokenav0_1 { - u8 fill6dad[0x6dad]; - s8 var6dad; - s8 var6dae; + u8 fill6dad[0x6dad]; + s8 var6dad; + s8 var6dae; }; IWRAM_DATA void (*gUnknown_03000744)(void); @@ -297,1140 +298,1280 @@ extern void sub_80F19FC(); extern u16 gKeyRepeatStartDelay; -void sub_80EBA5C() { - switch (gMain.state) { - default: - gMain.state = 0; - case 0: - ewram0_10.var6dac = is_c1_link_related_active(); - if (!ewram0_10.var6dac) { - ewram0_10.var6dab = 0; - gMain.state++; - SetMainCallback2(&sub_80EBBE8); - break; - } - break; - case 1: - SetVBlankCallback(NULL); - break; - case 2: - ResetPaletteFade(); - break; - case 3: - ResetSpriteData(); - break; - case 4: - FreeAllSpritePalettes(); - break; - case 5: - ResetTasks(); - break; - case 6: - remove_some_task(); - break; - case 7: - sub_80F1A90(); - gMain.state++; - case 8: - if (sub_80F1AC4()) return; - break; - case 9: - sub_80F2688(); - gMain.state++; - - case 10: - if (sub_80F26BC()) return; - break; - case 11: - sub_80F36F0(); - gMain.state++; - case 12: - if (sub_80F3724()) return; - break; - case 13: - sub_80EBC10(); - sub_80EBDBC(&sub_80EBDD8); - break; - case 14: - ewram0_10.var6dab = 1; - PlaySE(SE_PN_ON); - SetMainCallback2(&sub_80EBD90); - SetVBlankCallback(&sub_80EBD18); - sub_80F1A74(); - break; - } - - gMain.state++; +void sub_80EBA5C() +{ + switch (gMain.state) + { + default: + gMain.state = 0; + case 0: + ewram0_10.var6dac = is_c1_link_related_active(); + if (!ewram0_10.var6dac) + { + ewram0_10.var6dab = 0; + gMain.state++; + SetMainCallback2(&sub_80EBBE8); + } + break; + case 1: + SetVBlankCallback(NULL); + break; + case 2: + ResetPaletteFade(); + break; + case 3: + ResetSpriteData(); + break; + case 4: + FreeAllSpritePalettes(); + break; + case 5: + ResetTasks(); + break; + case 6: + remove_some_task(); + break; + case 7: + sub_80F1A90(); + gMain.state++; + case 8: + if (sub_80F1AC4()) + return; + break; + case 9: + sub_80F2688(); + gMain.state++; + // fall through + case 10: + if (sub_80F26BC()) + return; + break; + case 11: + sub_80F36F0(); + gMain.state++; + case 12: + if (sub_80F3724()) + return; + break; + case 13: + sub_80EBC10(); + sub_80EBDBC(&sub_80EBDD8); + break; + case 14: + ewram0_10.var6dab = 1; + PlaySE(SE_PN_ON); + SetMainCallback2(&sub_80EBD90); + SetVBlankCallback(&sub_80EBD18); + sub_80F1A74(); + break; + } + + gMain.state++; } -void sub_80EBBE8() { - u8 var1; - if (!ewram0_10.var6dab) { - var1 = ewram0_10.var6dab; - do { - sub_80EBA5C(); - var1 = ewram0_10.var6dab; - } while (!var1); - } +void sub_80EBBE8() +{ + while (!ewram0_10.var6dab) + sub_80EBA5C(); } -void sub_80EBC10() { - u16 i; - u16 *var1; - - gKeyRepeatStartDelay = 0x14; - ewram0_10.playerPartyCount = CalculatePlayerPartyCount(); - ewram0_10.var6ddc = 0; - ewram0_10.var9344 = 0; - ewram0_10.var8768 = 0; - ewram0_10.varCED0 = 0; - - for (i = 0; i < 5; ++i) { - ewram0_10.var8fff[i] = 0; - var1 = (u16 *)ewram0_10.var0; - var1[i*2 + 0x4820] = 0x9B; - var1[i*2 + 0x4821] = 0x5B; - } - - ewram0_10.var6e95 = 0; - sub_80EBCA8(); +void sub_80EBC10() +{ + u16 i; + u16 *var1; + + gKeyRepeatStartDelay = 0x14; + ewram0_10.playerPartyCount = CalculatePlayerPartyCount(); + ewram0_10.var6ddc = 0; + ewram0_10.var9344 = 0; + ewram0_10.var8768 = 0; + ewram0_10.varCED0 = 0; + + for (i = 0; i < 5; ++i) + { + ewram0_10.var8fff[i] = 0; + var1 = (u16 *)ewram0_10.var0; + var1[i*2 + 0x4820] = 0x9B; + var1[i*2 + 0x4821] = 0x5B; + } + + ewram0_10.var6e95 = 0; + sub_80EBCA8(); } -void sub_80EBCA8() { - ewram0_10.var6db2[0] = 1; - ewram0_10.var6db2[1] = 2; - ewram0_10.var6db2[2] = 3; +void sub_80EBCA8() +{ + ewram0_10.var6db2[0] = 1; + ewram0_10.var6db2[1] = 2; + ewram0_10.var6db2[2] = 3; - if (FlagGet(FLAG_SYS_RIBBON_GET)) { - ewram0_10.var6db2[3] = 4; - } - else { - ewram0_10.var6db2[3] = 0; - } + if (FlagGet(FLAG_SYS_RIBBON_GET)) + ewram0_10.var6db2[3] = 4; + else + ewram0_10.var6db2[3] = 0; - ewram0_10.var6db2[4] = 5; + ewram0_10.var6db2[4] = 5; } -void sub_80EBD18() { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - sub_80F1FF0(); +void sub_80EBD18() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F1FF0(); } -void sub_80EBD30() { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - UpdateRegionMapVideoRegs(); - sub_80EFE7C(); +void sub_80EBD30() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + UpdateRegionMapVideoRegs(); + sub_80EFE7C(); } -void sub_80EBD4C() { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - sub_80F5BF0(); - sub_8089668(); +void sub_80EBD4C() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F5BF0(); + sub_8089668(); } -void sub_80EBD68() { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - sub_80F6F64(); +void sub_80EBD68() +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F6F64(); } -void sub_80EBD80() { - LoadOam(); - ProcessSpriteCopyRequests(); +void sub_80EBD80() +{ + LoadOam(); + ProcessSpriteCopyRequests(); } -void sub_80EBD90() { - ewram0_10.var300(); - AnimateSprites(); - BuildOamBuffer(); - RunTasks(); - UpdatePaletteFade(); - sub_80F19FC(); +void sub_80EBD90() +{ + ewram0_10.var300(); + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + UpdatePaletteFade(); + sub_80F19FC(); } -void sub_80EBDBC(void (*func)(void)) { - ewram0_10.var300 = func; - ewram0_10.var304 = 0; +void sub_80EBDBC(void (*func)(void)) +{ + ewram0_10.var300 = func; + ewram0_10.var304 = 0; } -void sub_80EBDD8() { - switch (ewram0_10.var304) { - case 0: - SetVBlankCallback(NULL); - REG_DISPCNT = 0; - ewram0_10.var6dad = ewram0_10.var6ddc; - ewram0_10.var6dae = 5; - ewram0_10.var304++; - break; - case 1: - sub_80F3FF0(); - ewram0_10.var304++; - case 2: - if (sub_80F4024()) return; - ewram0_10.var304++; - break; - case 3: - sub_80F2598(); - ewram0_10.var304++; - break; - case 4: - sub_80EEE20(); - ewram0_10.var304++; - case 5: - if (sub_80EEE54()) return; - sub_80EEE08(); - ewram0_10.var304++; - return; - case 6: - sub_80EF248(0); - ewram0_10.var304++; - case 7: - if (sub_80EF284(0)) return; - ewram0_10.var304++; - break; - case 8: - sub_80F1B8C(0); - ewram0_10.var304++; - case 9: - if (sub_80F1BC8(0)) return; - ewram0_10.var304++; - break; - case 10: - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 11: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - ewram0_10.var304++; - return; - case 12: - sub_80EED2C(0); - ewram0_10.var304++; - return; - case 13: - if (gPaletteFade.active) return; - ewram0_10.var304++; - return; - case 14: - sub_80F2C80(0); - ewram0_10.var304++; - case 15: - if (sub_80F2CBC(0)) return; - ewram0_10.var304++; - break; - case 16: - sub_80F1DF0(); - ewram0_10.var304++; - return; - case 17: - if (!sub_80F1E50()) { - sub_80EF428(0, 0); - sub_80EBDBC(&sub_80EC268); +void sub_80EBDD8() +{ + switch (ewram0_10.var304) + { + case 0: + SetVBlankCallback(NULL); + REG_DISPCNT = 0; + ewram0_10.var6dad = ewram0_10.var6ddc; + ewram0_10.var6dae = 5; + ewram0_10.var304++; + break; + case 1: + sub_80F3FF0(); + ewram0_10.var304++; + // fall through + case 2: + if (!sub_80F4024()) + ewram0_10.var304++; + break; + case 3: + sub_80F2598(); + ewram0_10.var304++; + break; + case 4: + sub_80EEE20(); + ewram0_10.var304++; + // fall through + case 5: + if (!sub_80EEE54()) + { + sub_80EEE08(); + ewram0_10.var304++; } - return; - - } - + break; + case 6: + sub_80EF248(0); + ewram0_10.var304++; + // fall through + case 7: + if (!sub_80EF284(0)) + ewram0_10.var304++; + break; + case 8: + sub_80F1B8C(0); + ewram0_10.var304++; + // fall through + case 9: + if (!sub_80F1BC8(0)) + ewram0_10.var304++; + break; + case 10: + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 11: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + ewram0_10.var304++; + break; + case 12: + sub_80EED2C(0); + ewram0_10.var304++; + break; + case 13: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 14: + sub_80F2C80(0); + ewram0_10.var304++; + // fall through + case 15: + if (!sub_80F2CBC(0)) + ewram0_10.var304++; + break; + case 16: + sub_80F1DF0(); + ewram0_10.var304++; + break; + case 17: + if (!sub_80F1E50()) + { + sub_80EF428(0, 0); + sub_80EBDBC(&sub_80EC268); + } + break; + } } -void sub_80EC00C() { - switch (ewram0_10.var304) { - case 0: - if (!sub_80EEF78()) { - SetVBlankCallback(&sub_80EBD80); - sub_80EED1C(); - ewram0_10.var6dad = ewram0_10.var6ddc; - ewram0_10.var6dae = 5; - sub_80EEE08(); +void sub_80EC00C() +{ + switch (ewram0_10.var304) + { + case 0: + if (!sub_80EEF78()) + { + SetVBlankCallback(&sub_80EBD80); + sub_80EED1C(); + ewram0_10.var6dad = ewram0_10.var6ddc; + ewram0_10.var6dae = 5; + sub_80EEE08(); + ewram0_10.var304++; + } + break; + case 1: + sub_80EF248(0); + ewram0_10.var304++; + // fall through + case 2: + if (!sub_80EF284(0)) + ewram0_10.var304++; + break; + case 3: + sub_80F1B8C(0); + ewram0_10.var304++; + // fall through + case 4: + if (!sub_80F1BC8(0)) + ewram0_10.var304++; + break; + case 5: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0); + ewram0_10.var304++; + break; + case 8: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 9: + sub_80F2598(); + ewram0_10.var304++; + break; + case 10: + sub_80F2C80(0); + ewram0_10.var304++; + // fall through + case 11: + if (!sub_80F2CBC(0)) ewram0_10.var304++; + break; + case 12: + sub_80F1DF0(); + ewram0_10.var304++; + break; + case 13: + if (!sub_80F1E50()) + { + sub_80EF428(0, ewram0_10.var6dad); + sub_80EBDBC(&sub_80EC268); } break; - case 1: - sub_80EF248(0); - ewram0_10.var304++; - case 2: - if (sub_80EF284(0)) return; - ewram0_10.var304++; - break; - case 3: - sub_80F1B8C(0); - ewram0_10.var304++; - case 4: - if (sub_80F1BC8(0)) return; - ewram0_10.var304++; - break; - case 5: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0); - ewram0_10.var304++; - break; - case 8: - if (gPaletteFade.active) return; - ewram0_10.var304++; - return; - case 9: - sub_80F2598(); - ewram0_10.var304++; - break; - case 10: - sub_80F2C80(0); - ewram0_10.var304++; - case 11: - if (sub_80F2CBC(0)) return; - ewram0_10.var304++; - return; - case 12: - sub_80F1DF0(); - ewram0_10.var304++; - return; - case 13: - if (sub_80F1E50()) return; - sub_80EF428(0, ewram0_10.var6dad); - sub_80EBDBC(&sub_80EC268); - } + } } -void sub_80EC210() { - switch (ewram0_10.var304) { - case 0: - sub_80F2D04(1); - sub_80EE9C0(0, ewram0_10.var6ddc, 0); - ewram0_10.var304++; +void sub_80EC210() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F2D04(1); + sub_80EE9C0(0, ewram0_10.var6ddc, 0); + ewram0_10.var304++; + break; + case 1: + if (!sub_80EEA0C()) + sub_80EBDBC(&sub_80EC268); break; - case 1: - if (sub_80EEA0C()) return; - sub_80EBDBC(&sub_80EC268); - } + } } -void sub_80EC268() { - u8 var1; - switch (ewram0_10.var304) { - case 0: - if (sub_80EEC10() != 0) { - PlaySE(0x5); - sub_80EF428(0, ewram0_10.var6dad); - sub_80EED9C(); - break; - } - else { - if (gMain.newKeys & A_BUTTON) { - ewram0_10.var6ddc = ewram0_10.var6dad; - switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1) { - case 0: - PlaySE(5); - sub_80EBDBC(&sub_80EC4A0); - break; - case 1: - PlaySE(5); - sub_80EBDBC(&sub_80EC81C); - break; - case 4: - ewram0_10.var304 = 1; - break; - case 3: - ewram0_10.var304 = 2; - break; - case 2: - ewram0_10.var304 = 6; - break; - } +void sub_80EC268() +{ + u8 var1; + + switch (ewram0_10.var304) + { + case 0: + if (sub_80EEC10() != 0) + { + PlaySE(SE_SELECT); + sub_80EF428(0, ewram0_10.var6dad); + sub_80EED9C(); + } + else + { + if (gMain.newKeys & A_BUTTON) + { + ewram0_10.var6ddc = ewram0_10.var6dad; + switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1) + { + case 0: + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EC4A0); + break; + case 1: + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EC81C); + break; + case 4: + ewram0_10.var304 = 1; + break; + case 3: + ewram0_10.var304 = 2; + break; + case 2: + ewram0_10.var304 = 6; + break; + } + } + else if (gMain.newKeys & B_BUTTON) + { + ewram0_10.var304 = 1; + } + } + break; + case 1: + sub_80F208C(); + sub_80EBDBC(&sub_80EE96C); + break; + case 2: + sub_80F6208(); + ewram0_10.var304++; + // fall through + case 3: + if (!sub_80F6250()) + ewram0_10.var304++; + break; + case 4: + if (!sub_8055870()) + { + if (ewram0_10.var8fe8 != 0) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EDB88); } - else if (gMain.newKeys & B_BUTTON) { - ewram0_10.var304 = 1; + else + { + PlaySE(0x20); + sub_80EF428(0, 5); + ewram0_10.var304 = 0xFF; } - break; } - case 1: - sub_80F208C(); - sub_80EBDBC(&sub_80EE96C); - break; - case 2: - sub_80F6208(); - ewram0_10.var304++; - case 3: - if (sub_80F6250()) return; - ewram0_10.var304++; break; - case 4: - if (sub_8055870()) return; - if (ewram0_10.var8fe8 != 0) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EDB88); - break; - } - else { - PlaySE(0x20); - sub_80EF428(0, 5); - ewram0_10.var304 = 0xFF; - break; - } - case 6: - sub_80F6C20(); - if (ewram0_10.varD158 != 0) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EE3D8); - break; - } - else { - PlaySE(0x20); - sub_80EF428(0, 6); - ewram0_10.var304 = 0xFF; - break; - } - case 0xFF: - if ((var1 = sub_80EEC10()) != 0) { - PlaySE(0x5); - sub_80EF428(0, ewram0_10.var6dad); - ewram0_10.var304 = 0; - sub_80EED9C(); - } - else { - if (!(gMain.newKeys & (A_BUTTON | B_BUTTON))) return; + case 6: + sub_80F6C20(); + if (ewram0_10.varD158 != 0) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EE3D8); + } + else + { + PlaySE(0x20); + sub_80EF428(0, 6); + ewram0_10.var304 = 0xFF; + } + break; + case 0xFF: + if ((var1 = sub_80EEC10()) != 0) + { + PlaySE(SE_SELECT); + sub_80EF428(0, ewram0_10.var6dad); + ewram0_10.var304 = 0; + sub_80EED9C(); + } + else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { sub_80EF428(0, ewram0_10.var6dad); ewram0_10.var304 = var1; - break; } - } + break; + } } -void sub_80EC4A0() { - u32 var1; - u32 var2; - switch (ewram0_10.var304) { - case 0: - sub_80F1E84(); - sub_80F2D04(0); - ewram0_10.var304++; - break; - case 1: - if (!sub_80F1F10()) { - if (gSaveBlock2.regionMapZoom) { - var1 = 0x7; - } - else var1 = 0x8; - sub_80EEFBC(var1); +void sub_80EC4A0() +{ + u32 var1; + + switch (ewram0_10.var304) + { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F1F10()) + { + if (gSaveBlock2.regionMapZoom) + var1 = 0x7; + else + var1 = 0x8; + sub_80EEFBC(var1); + ewram0_10.var304++; + } + break; + case 2: + if (!sub_80EEF34()) + { + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + ewram0_10.var304++; + } + break; + case 3: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); ewram0_10.var304++; } - break; - case 2: - if (!(var2 = sub_80EEF34())) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var2); + break; + case 4: + sub_80F2620(); + ewram0_10.var304++; + break; + case 5: + sub_80EF814(); + ewram0_10.var304++; + break; + case 6: + sub_80EF840(); + ewram0_10.var304++; + // fall through + case 7: + if (!sub_80EF874()) ewram0_10.var304++; - } - break; - case 3: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - ewram0_10.var304++; - break; - case 4: - sub_80F2620(); - ewram0_10.var304++; - break; - case 5: - sub_80EF814(); - ewram0_10.var304++; - break; - case 6: - sub_80EF840(); - ewram0_10.var304++; - case 7: - if (sub_80EF874()) return; - ewram0_10.var304++; - break; - case 8: - sub_80F2C80(0x4); - ewram0_10.var304++; - case 9: - if (sub_80F2CBC(0x4)) return; - ewram0_10.var304++; - break; - case 0xA: - sub_80F2DD8(); - SetVBlankCallback(&sub_80EBD30); - ewram0_10.var304++; - break; - case 0xB: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 0xC: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - ewram0_10.var304++; - break; - case 0xD: - sub_80EED2C(0x1); - ewram0_10.var304++; + break; + case 8: + sub_80F2C80(0x4); + ewram0_10.var304++; + // fall through + case 9: + if (!sub_80F2CBC(0x4)) + ewram0_10.var304++; + break; + case 0xA: + sub_80F2DD8(); + SetVBlankCallback(&sub_80EBD30); + ewram0_10.var304++; + break; + case 0xB: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 0xC: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + ewram0_10.var304++; + break; + case 0xD: + sub_80EED2C(0x1); + ewram0_10.var304++; + break; + case 0xE: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80EC67C); break; - case 0xE: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80EC67C); - } + } } -void sub_80EC67C() { - u32 var1; - u32 var2; - switch (ewram0_10.var304) { - case 0: - switch (sub_80FAB60()) { - case 1: - sub_80EED9C(); - break; - case 3: - sub_80EF9F8(); - break; - case 4: - PlaySE(0x5); - ewram0_10.var304 = 1; - break; - case 5: - PlaySE(0x5); - ewram0_10.var304 = 4; - break; - } - break; - case 1: - if (!ewram0_10.var6e90) { +void sub_80EC67C() +{ + switch (ewram0_10.var304) + { + case 0: + switch (sub_80FAB60()) + { + case 1: + sub_80EED9C(); + break; + case 3: + sub_80EF9F8(); + break; + case 4: + PlaySE(SE_SELECT); + ewram0_10.var304 = 1; + break; + case 5: + PlaySE(SE_SELECT); + ewram0_10.var304 = 4; + break; + } + break; + case 1: + if (!ewram0_10.var6e90) + { + sub_80FAEC4(); + ewram0_10.var304++; + } + else if (!sub_80EFBDC(1)) + { sub_80FAEC4(); ewram0_10.var304++; - break; } - if (sub_80EFBDC(1)) return; - sub_80FAEC4(); - ewram0_10.var304++; - break; - case 2: - if ((var2 = sub_80FAFC0())) return; - if (!ewram0_10.var6e90) { + break; + case 2: + if (!sub_80FAFC0()) + { + if (!ewram0_10.var6e90) + { + sub_80EFBB0(); + ewram0_10.var304 = 0; + } + else + { + ewram0_10.var304++; + } + } + break; + case 3: + if (!sub_80EFBDC(0)) + { sub_80EFBB0(); - ewram0_10.var304 = var2; - break; + ewram0_10.var304 = 0; + } + break; + case 4: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 5: + if (!gPaletteFade.active) + { + sub_80F2DF4(); + sub_80F2D04(0x4); + gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0; + sub_80EBDBC(&sub_80EC00C); } - ewram0_10.var304++; - break; - case 3: - if ((var1 = sub_80EFBDC(0))) return; - sub_80EFBB0(); - ewram0_10.var304 = var1; - break; - case 4: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; break; - case 5: - if (gPaletteFade.active) return; - sub_80F2DF4(); - sub_80F2D04(0x4); - gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0; - sub_80EBDBC(&sub_80EC00C); - } + } } -void sub_80EC81C() { - switch (ewram0_10.var304) { - case 0: - sub_80F2D04(0); - sub_80EE9C0(1, 0, 1); - ewram0_10.var304++; +void sub_80EC81C() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F2D04(0); + sub_80EE9C0(1, 0, 1); + ewram0_10.var304++; + break; + case 1: + if (!sub_80EEA0C()) + sub_80EBDBC(&sub_80EC86C); break; - case 1: - if (sub_80EEA0C()) return; - sub_80EBDBC(&sub_80EC86C); - } + } } -void sub_80EC86C() { - switch (ewram0_10.var304) { - case 0: - if (sub_80EEC90()) { - PlaySE(0x5); - sub_80EF428(1, ewram0_10.var6dad); - sub_80EED9C(); - break; - } - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - ewram0_10.var6df0 = ewram0_10.var6dad; - switch (ewram0_10.var6df0) { - case 0: - sub_80EBDBC(&sub_80ED620); - break; - case 1: - sub_80EBDBC(&sub_80EC960); - break; - case 2: - sub_80EBDBC(&sub_80EC210); - break; - } - break; - } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - ewram0_10.var6df0 = 0x2; - ewram0_10.var6dad = 0x2; - ewram0_10.var304++; - break; - } +void sub_80EC86C() +{ + switch (ewram0_10.var304) + { + case 0: + if (sub_80EEC90()) + { + PlaySE(SE_SELECT); + sub_80EF428(1, ewram0_10.var6dad); + sub_80EED9C(); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + ewram0_10.var6df0 = ewram0_10.var6dad; + switch (ewram0_10.var6df0) + { + case 0: + sub_80EBDBC(&sub_80ED620); + break; + case 1: + sub_80EBDBC(&sub_80EC960); + break; + case 2: + sub_80EBDBC(&sub_80EC210); + break; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + ewram0_10.var6df0 = 0x2; + ewram0_10.var6dad = 0x2; + ewram0_10.var304++; + } + break; + case 1: + if (!sub_80F1E6C()) + sub_80EBDBC(&sub_80EC210); break; - case 1: - if (sub_80F1E6C()) return; - sub_80EBDBC(&sub_80EC210); - } + } } -void sub_80EC960() { - switch (ewram0_10.var304) { - case 0: - sub_80EE9C0(2, 0, 5); - ewram0_10.var304++; +void sub_80EC960() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80EE9C0(2, 0, 5); + ewram0_10.var304++; + break; + case 1: + if (!sub_80EEA0C()) + sub_80EBDBC(&sub_80ECC08); break; - case 1: - if (sub_80EEA0C()) return; - sub_80EBDBC(&sub_80ECC08); - } + } } -void sub_80EC9A8() { - switch (ewram0_10.var304) { - case 0: - sub_80F2D04(5); - sub_80EE9C0(1, ewram0_10.var6df0, 0xC); - ewram0_10.var304++; +void sub_80EC9A8() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F2D04(5); + sub_80EE9C0(1, ewram0_10.var6df0, 0xC); + ewram0_10.var304++; + break; + case 1: + if (!sub_80EEA0C()) + { + sub_80EBDBC(&sub_80EC86C); + sub_80EF428(1, ewram0_10.var6dad); + } break; - case 1: - if (sub_80EEA0C()) return; - sub_80EBDBC(&sub_80EC86C); - sub_80EF428(1, ewram0_10.var6dad); - } + } } -void sub_80ECA10() { - switch (ewram0_10.var304) { - case 0: - if (sub_80EEF78()) return; - SetVBlankCallback(&sub_80EBD80); - sub_80EED1C(); - ewram0_10.var6dad = ewram0_10.var6df0; - ewram0_10.var6dae = 0x3; - sub_80EEE08(); - ewram0_10.var304++; - break; - case 1: - sub_80EF248(0x1); - ewram0_10.var304++; - case 2: - if (sub_80EF284(0x1)) return; - ewram0_10.var304++; - break; - case 3: - sub_80F1B8C(0x1); - ewram0_10.var304++; - case 4: - if (sub_80F1BC8(0x1)) return; - ewram0_10.var304++; - break; - case 5: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0); - ewram0_10.var304++; - break; - case 8: - sub_80F2598(); - ewram0_10.var304++; - break; - case 9: - if (gPaletteFade.active) return; - ewram0_10.var304++; - break; - case 0xA: - sub_80F2C80(0x1); - ewram0_10.var304++; - - case 0xB: - if (sub_80F2CBC(0x1)) return; - ewram0_10.var304++; - break; - case 0xC: - sub_80F1DF0(); - ewram0_10.var304++; +void sub_80ECA10() +{ + switch (ewram0_10.var304) + { + case 0: + if (!sub_80EEF78()) + { + SetVBlankCallback(&sub_80EBD80); + sub_80EED1C(); + ewram0_10.var6dad = ewram0_10.var6df0; + ewram0_10.var6dae = 0x3; + sub_80EEE08(); + ewram0_10.var304++; + } + break; + case 1: + sub_80EF248(0x1); + ewram0_10.var304++; + case 2: + if (!sub_80EF284(0x1)) + ewram0_10.var304++; + break; + case 3: + sub_80F1B8C(0x1); + ewram0_10.var304++; + case 4: + if (!sub_80F1BC8(0x1)) + ewram0_10.var304++; + break; + case 5: + if (sub_8055870()) return; + ewram0_10.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0); + ewram0_10.var304++; + break; + case 8: + sub_80F2598(); + ewram0_10.var304++; + break; + case 9: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 0xA: + sub_80F2C80(0x1); + ewram0_10.var304++; + // fall through + case 0xB: + if (!sub_80F2CBC(0x1)) + ewram0_10.var304++; + break; + case 0xC: + sub_80F1DF0(); + ewram0_10.var304++; + break; + case 0xD: + if (!sub_80F1E50()) + { + sub_80EF428(1, ewram0_10.var6dad); + sub_80EBDBC(&sub_80EC86C); + } break; - case 0xD: - if (sub_80F1E50()) return; - sub_80EF428(1, ewram0_10.var6dad); - sub_80EBDBC(&sub_80EC86C); - } + } } -void sub_80ECC08() { - switch (ewram0_10.var304) { - case 0: - if (sub_80EEC90()) { - PlaySE(0x5); - sub_80EF428(2, ewram0_10.var6dad); - sub_80EED9C(); - break; - } +void sub_80ECC08() +{ + switch (ewram0_10.var304) + { + case 0: + if (sub_80EEC90()) + { + PlaySE(SE_SELECT); + sub_80EF428(2, ewram0_10.var6dad); + sub_80EED9C(); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + switch ((s8)ewram0_10.var6dad) + { + case 0: + ewram0_10.var87D8 = 22; + break; + case 1: + ewram0_10.var87D8 = 23; + break; + case 2: + ewram0_10.var87D8 = 24; + break; + case 3: + ewram0_10.var87D8 = 33; + break; + case 4: + ewram0_10.var87D8 = 47; + break; + case 5: + sub_80EBDBC(&sub_80EC9A8); + return; + } - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - switch ((s8)ewram0_10.var6dad) { - case 0: - ewram0_10.var87D8 = 22; - break; - case 1: - ewram0_10.var87D8 = 23; - break; - case 2: - ewram0_10.var87D8 = 24; - break; - case 3: - ewram0_10.var87D8 = 33; - break; - case 4: - ewram0_10.var87D8 = 47; - break; - case 5: - sub_80EBDBC(&sub_80EC9A8); - return; - } + ewram0_10.var6dfc = ewram0_10.var6dad; + ewram0_10.var76aa = 1; + sub_80EBDBC(&sub_80ED01C); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + ewram0_10.var6dad = 0x5; + ewram0_10.var304++; + } + break; + case 1: + if (!sub_80F1E6C()) + sub_80EBDBC(&sub_80EC9A8); + break; + } +} - ewram0_10.var6dfc = ewram0_10.var6dad; - ewram0_10.var76aa = 1; - sub_80EBDBC(&sub_80ED01C); +void sub_80ECD80() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 2: + if (!sub_80EEF78()) + { + SetVBlankCallback(&sub_80EBD80); + ewram0_10.var304++; } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - ewram0_10.var6dad = 0x5; + break; + case 3: + sub_80EED1C(); + sub_80F3130(); + ewram0_10.var304++; + break; + case 4: + sub_80F2D6C(0x1); + ewram0_10.var304++; + break; + case 5: + sub_80F2D6C(0x5); + ewram0_10.var304++; + break; + case 6: + ewram0_10.var6dad = ewram0_10.var6dfc; + ewram0_10.var6dae = 0x6; + sub_80EEE08(); + ewram0_10.var304++; + break; + case 7: + sub_80EF248(0x2); + ewram0_10.var304++; + // fall through + case 8: + if (!sub_80EF284(0x2)) + ewram0_10.var304++; + break; + case 9: + sub_80F1B8C(0x2); + ewram0_10.var304++; + // fall through + case 10: + if (!sub_80F1BC8(0x2)) + ewram0_10.var304++; + break; + case 11: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 12: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 13: + sub_80EED2C(0); + ewram0_10.var304++; + break; + case 14: + sub_80F2598(); + ewram0_10.var304++; + break; + case 15: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 16: + sub_80F2C80(0x1); + ewram0_10.var304++; + // fall through + case 17: + if (!sub_80F2CBC(0x1)) + { + ewram0_10.var306 = 0; ewram0_10.var304++; } + break; + case 18: + sub_80F2C80(0x5); + ewram0_10.var304++; + // fall through + case 19: + if (!sub_80F2CBC(0x5)) + { + sub_80F1DF0(); + ewram0_10.var304++; + } + break; + case 20: + if (!sub_80F1E50()) + { + sub_80EF428(2, ewram0_10.var6dad); + sub_80EBDBC(&sub_80ECC08); + } break; - case 1: - if (sub_80F1E6C()) return;; - sub_80EBDBC(&sub_80EC9A8); - break; - } -} - -void sub_80ECD80() { - u16 var1; - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - ewram0_10.var304++; - break; - case 2: - if (sub_80EEF78()) return; - SetVBlankCallback(&sub_80EBD80); - ewram0_10.var304++; - break; - case 3: - sub_80EED1C(); - sub_80F3130(); - ewram0_10.var304++; - break; - case 4: - sub_80F2D6C(0x1); - ewram0_10.var304++; - break; - case 5: - sub_80F2D6C(0x5); - ewram0_10.var304++; - break; - case 6: - ewram0_10.var6dad = ewram0_10.var6dfc; - ewram0_10.var6dae = 0x6; - sub_80EEE08(); - ewram0_10.var304++; - break; - case 7: - sub_80EF248(0x2); - ewram0_10.var304++; - case 8: - if (sub_80EF284(0x2)) return; - ewram0_10.var304++; - break; - case 9: - sub_80F1B8C(0x2); - ewram0_10.var304++; - case 10: - if (sub_80F1BC8(0x2)) return; - ewram0_10.var304++; - break; - case 11: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 12: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 13: - sub_80EED2C(0); - ewram0_10.var304++; - break; - case 14: - sub_80F2598(); - ewram0_10.var304++; - break; - case 15: - if (gPaletteFade.active) return; - ewram0_10.var304++; - break; - case 16: - sub_80F2C80(0x1); - ewram0_10.var304++; - case 17: - if ((var1 = sub_80F2CBC(0x1))) return; - ewram0_10.var306 = var1; - ewram0_10.var304++; - break; - case 18: - sub_80F2C80(0x5); - ewram0_10.var304++; - case 19: - if (sub_80F2CBC(0x5)) return; - sub_80F1DF0(); - ewram0_10.var304++; - break; - case 20: - if (sub_80F1E50()) return; - sub_80EF428(2, ewram0_10.var6dad); - sub_80EBDBC(&sub_80ECC08); - } + } } -void sub_80ED01C() { - u16 var1; - u16 var3; - switch (ewram0_10.var304) { - case 0: - sub_80F1E84(); - sub_80F2D04(0x1); - sub_80F2D04(0x5); - ewram0_10.var304++; - break; - case 1: - if (sub_80F1F10()) return; - sub_80EEFBC(0); - ewram0_10.var304++; - break; - case 2: - if ((var1 = sub_80EEF34())) return; - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); - ewram0_10.var304++; - break; - case 3: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80EF814(); - ewram0_10.var304++; - break; - case 4: - sub_80F2620(); - ewram0_10.var304++; - break; - case 5: - sub_80F4D44(); - ewram0_10.var304++; - case 6: - if (!sub_80F4D88()) { - ewram0_10.var304 += 2; - break; +void sub_80ED01C() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F1E84(); + sub_80F2D04(0x1); + sub_80F2D04(0x5); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F1F10()) + { + sub_80EEFBC(0); + ewram0_10.var304++; } - ewram0_10.var304++; - break; - case 7: - if (sub_8055870()) return; - ewram0_10.var304--; - break; - case 8: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 9: - sub_80F0264(0); - ewram0_10.var304++; - case 10: - if (sub_80F02A0()) return; - ewram0_10.var304++; - break; - case 11: - sub_80F3008(0); - ewram0_10.var304++; - break; - case 12: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 13: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 14: - sub_80EED2C(0x4); - ewram0_10.var304++; - break; - case 15: - if (gPaletteFade.active) return; - ewram0_10.var306 = (u8)(gPaletteFade.active << 24); - ewram0_10.var304++; - break; - case 16: - sub_80F2C80(0x1); - ewram0_10.var304++; - case 17: - if ((var3 = sub_80F2CBC(0x1))) return; - ewram0_10.var306 = var3; - ewram0_10.var304++; - break; - case 18: - sub_80F2C80(ewram0_10.var6dfc + 7); - ewram0_10.var304++; - case 19: - if (sub_80F2CBC(ewram0_10.var6dfc + 7)) return; - sub_80EBDBC(&sub_80ED31C); - break; - } + break; + case 2: + if (!sub_80EEF34()) + { + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + ewram0_10.var304++; + } + break; + case 3: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + ewram0_10.var304++; + } + break; + case 4: + sub_80F2620(); + ewram0_10.var304++; + break; + case 5: + sub_80F4D44(); + ewram0_10.var304++; + // fall through + case 6: + if (!sub_80F4D88()) + ewram0_10.var304 += 2; + else + ewram0_10.var304 += 1; + break; + case 7: + if (!sub_8055870()) + ewram0_10.var304--; + break; + case 8: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 9: + sub_80F0264(0); + ewram0_10.var304++; + // fall through + case 10: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 11: + sub_80F3008(0); + ewram0_10.var304++; + break; + case 12: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 13: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 14: + sub_80EED2C(0x4); + ewram0_10.var304++; + break; + case 15: + if (!gPaletteFade.active) + { + ewram0_10.var306 = 0; + ewram0_10.var304++; + } + break; + case 16: + sub_80F2C80(0x1); + ewram0_10.var304++; + // fall through + case 17: + if (!sub_80F2CBC(0x1)) + { + ewram0_10.var306 = 0; + ewram0_10.var304++; + } + break; + case 18: + sub_80F2C80(ewram0_10.var6dfc + 7); + ewram0_10.var304++; + // fall through + case 19: + if (!sub_80F2CBC(ewram0_10.var6dfc + 7)) + sub_80EBDBC(&sub_80ED31C); + break; + } } -void sub_80ED31C() { - switch (ewram0_10.var304) { - case 0: - switch (sub_80F5DD4()) { - case 1: - PlaySE(0x5); +void sub_80ED31C() +{ + switch (ewram0_10.var304) + { + case 0: + switch (sub_80F5DD4()) + { + case 1: + PlaySE(SE_SELECT); + ShowMapNamePopUpWindow(); + break; + case 2: + PlaySE(SE_SELECT); + ewram0_10.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80ED4D8); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80ECD80); + } + break; + } + break; + case 1: + if (!sub_80F0718()) + { ShowMapNamePopUpWindow(); - break; - case 2: - PlaySE(0x5); + sub_80F3264(); ewram0_10.var304++; - break; - default: - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80ED4D8); - } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80ECD80); - } - break; } - break; - case 1: - if (sub_80F0718()) return; - ShowMapNamePopUpWindow(); - sub_80F3264(); - ewram0_10.var304++; - break; - case 2: - if (sub_8055870()) return; - ewram0_10.var304 = 0; - break; - } + break; + case 2: + if (!sub_8055870()) + ewram0_10.var304 = 0; + break; + } } -void sub_80ED3D0() { - switch (ewram0_10.var304) { - case 0: - SetVBlankCallback(NULL); - ewram0_10.var304++; - break; - case 1: - sub_80EED0C(); - sub_80F6134(); - ewram0_10.var304++; - break; - case 2: - sub_80EEFBC(0); - ewram0_10.var304++; - break; - case 3: - sub_80F0264(0); - ewram0_10.var304++; - case 4: - if (sub_80F02A0()) return; - ewram0_10.var304++; - break; - case 5: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 6: - sub_80F3008(0); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0x4); - ewram0_10.var304++; +void sub_80ED3D0() +{ + switch (ewram0_10.var304) + { + case 0: + SetVBlankCallback(NULL); + ewram0_10.var304++; + break; + case 1: + sub_80EED0C(); + sub_80F6134(); + ewram0_10.var304++; + break; + case 2: + sub_80EEFBC(0); + ewram0_10.var304++; + break; + case 3: + sub_80F0264(0); + ewram0_10.var304++; + // fall through + case 4: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 5: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 6: + sub_80F3008(0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0x4); + ewram0_10.var304++; + break; + case 8: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80ED31C); break; - case 8: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80ED31C); - } + } } -void sub_80ED4D8() { - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80F3130(); - ewram0_10.var304++; - break; - case 2: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 3: - sub_80F4CF0(); - ewram0_10.var304++; - break; - case 4: - sub_80EFF34(); - ewram0_10.var304++; - case 5: - if (sub_80EFF68()) return; - ewram0_10.var304++; - break; - case 6: - sub_80F35B4(); - sub_80EEFBC(0x2); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(sub_80EBD4C); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0x2); - ewram0_10.var304++; - break; - case 8: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80ED858); - break; - } +void sub_80ED4D8() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3130(); + ewram0_10.var304++; + } + break; + case 2: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 3: + sub_80F4CF0(); + ewram0_10.var304++; + break; + case 4: + sub_80EFF34(); + ewram0_10.var304++; + // fall through + case 5: + if (!sub_80EFF68()) + ewram0_10.var304++; + break; + case 6: + sub_80F35B4(); + sub_80EEFBC(0x2); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(sub_80EBD4C); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0x2); + ewram0_10.var304++; + break; + case 8: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80ED858); + break; + } } -void sub_80ED620() { - u8 var1; - switch (ewram0_10.var304) { - case 0: - sub_80F1E84(); - sub_80F2D04(0x1); - ewram0_10.var304++; - break; - case 1: - if (sub_80F1F10()) return; - sub_80EEFBC(0x1); - ewram0_10.var304++; - break; - case 2: - if (!(var1 = sub_80EEF34())) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); +void sub_80ED620() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F1E84(); + sub_80F2D04(0x1); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F1F10()) + { + sub_80EEFBC(0x1); ewram0_10.var304++; } - break; - case 3: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80EF814(); - ewram0_10.var76aa = (u8)(gPaletteFade.active << 24); - ewram0_10.var304++; - break; - case 4: - sub_80F2620(); - ewram0_10.var304++; - break; - case 5: - ewram0_10.varD162 = 0x2; - sub_80F4BD0(); - ewram0_10.var304++; - break; - case 6: - sub_80EFF34(); - ewram0_10.var304++; - case 7: - if (sub_80EFF68()) return; - ewram0_10.var304++; - break; - case 8: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 9: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 10: - sub_80F33A8(); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD4C); - ewram0_10.var304++; - break; - case 11: - sub_80EED2C(0x2); - ewram0_10.var304++; - break; - case 12: - if (gPaletteFade.active) return; - ewram0_10.var304++; - break; - case 13: - sub_80F2C80(0x1); - ewram0_10.var304++; - case 14: - if (sub_80F2CBC(0x1)) return; - ewram0_10.var304++; - break; - case 15: - sub_80F2C80(0x6); - ewram0_10.var304++; - case 16: - if (sub_80F2CBC(0x6)) return; - sub_80EBDBC(&sub_80ED858); - break; - } + break; + case 2: + if (!sub_80EEF34()) + { + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + ewram0_10.var304++; + } + break; + case 3: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + ewram0_10.var76aa = 0; + ewram0_10.var304++; + } + break; + case 4: + sub_80F2620(); + ewram0_10.var304++; + break; + case 5: + ewram0_10.varD162 = 0x2; + sub_80F4BD0(); + ewram0_10.var304++; + break; + case 6: + sub_80EFF34(); + ewram0_10.var304++; + // fall through + case 7: + if (!sub_80EFF68()) + ewram0_10.var304++; + break; + case 8: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 9: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 10: + sub_80F33A8(); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD4C); + ewram0_10.var304++; + break; + case 11: + sub_80EED2C(0x2); + ewram0_10.var304++; + break; + case 12: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 13: + sub_80F2C80(0x1); + ewram0_10.var304++; + case 14: + if (!sub_80F2CBC(0x1)) + ewram0_10.var304++; + break; + case 15: + sub_80F2C80(0x6); + ewram0_10.var304++; + // fall through + case 16: + if (!sub_80F2CBC(0x6)) + sub_80EBDBC(&sub_80ED858); + break; + } } #if 0 @@ -1448,1834 +1589,1869 @@ void sub_80F357C(); void sub_80F4FDC(); void sub_80ED858() { - u8 var1; - switch (ewram0_10.var304) { - case 0: - sub_80F4F78(); - sub_80F5B38(); - ewram0_10.var304 = 0x1; - break; - case 1: - if (sub_80F5B50()) return; - ewram0_10.var304 = 0x2; - break; - case 2: - sub_80F0174(0x1); - ewram0_10.var304 = 0x3; - break; - case 3: - if (sub_80F4FB4()) return; - sub_80F3C94(); - sub_80F3D00(); - ewram0_10.var304 = 0x4; - break; - case 4: - if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) { - PlaySE(0x5); - sub_80F5060(0x1); - move_anim_execute(); - ewram0_10.var304 = 0x5; - } - else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) { - PlaySE(0x5); - sub_80F5060(0); - move_anim_execute(); - ewram0_10.var304 = 0x5; - } - if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80F4FDC(); - move_anim_execute(); - ewram0_10.var304 = 0x9; - } - else if (gMain.newKeys & A_BUTTON) { - if (ewram0_10.var76aa) { - if (ewram0_10.var6dac) { - PlaySE(0x5); - ewram0_10.var304 = 0x7; - } - } - else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) { - PlaySE(0x5); - ewram0_10.var304 = 0x9; - } - } + u8 var1; + switch (ewram0_10.var304) { + case 0: + sub_80F4F78(); + sub_80F5B38(); + ewram0_10.var304 = 0x1; + break; + case 1: + if (sub_80F5B50()) return; + ewram0_10.var304 = 0x2; + break; + case 2: + sub_80F0174(0x1); + ewram0_10.var304 = 0x3; + break; + case 3: + if (sub_80F4FB4()) return; + sub_80F3C94(); + sub_80F3D00(); + ewram0_10.var304 = 0x4; + break; + case 4: + if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) { + PlaySE(SE_SELECT); + sub_80F5060(0x1); + move_anim_execute(); + ewram0_10.var304 = 0x5; + } + else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) { + PlaySE(SE_SELECT); + sub_80F5060(0); + move_anim_execute(); + ewram0_10.var304 = 0x5; + } + if (gMain.newKeys & B_BUTTON) { + PlaySE(SE_SELECT); + sub_80F4FDC(); + move_anim_execute(); + ewram0_10.var304 = 0x9; + } + else if (gMain.newKeys & A_BUTTON) { + if (ewram0_10.var76aa) { + if (ewram0_10.var6dac) { + PlaySE(SE_SELECT); + ewram0_10.var304 = 0x7; + } + } + else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) { + PlaySE(SE_SELECT); + ewram0_10.var304 = 0x9; + } + } /* - if (gMain.heldKeys & 0x40) { - if (ewram0_10.var87CB) { - if (ewram0_10.var76aa) { - if (!ewram0_10.var87DC) goto label1; - } - PlaySE(0x5); - sub_80F5060(0x1); - move_anim_execute(); - ewram0_10.var304 = 0x5; + if (gMain.heldKeys & 0x40) { + if (ewram0_10.var87CB) { + if (ewram0_10.var76aa) { + if (!ewram0_10.var87DC) goto label1; + } + PlaySE(SE_SELECT); + sub_80F5060(0x1); + move_anim_execute(); + ewram0_10.var304 = 0x5; - } - else goto label1; - } - else goto label1; - break; + } + else goto label1; + } + else goto label1; + break; label1: - if (gMain.heldKeys & 0x80) { - if (ewram0_10.var87CB) { - if (ewram0_10.var76aa) { - if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2; - } - PlaySE(0x5); - sub_80F5060(0x1); - move_anim_execute(); - ewram0_10.var304 = 0x5; - } - else goto label2; - } - else goto label2; - break; + if (gMain.heldKeys & 0x80) { + if (ewram0_10.var87CB) { + if (ewram0_10.var76aa) { + if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2; + } + PlaySE(SE_SELECT); + sub_80F5060(0x1); + move_anim_execute(); + ewram0_10.var304 = 0x5; + } + else goto label2; + } + else goto label2; + break; label2: - if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80F4FDC(); - move_anim_execute(); - ewram0_10.var304 = 0x9; - } - else if (gMain.newKeys & A_BUTTON) { - if (!ewram0_10.var76aa) { - if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) { - PlaySE(0x5); - ewram0_10.var304 = 0x9; - } - } - else { - PlaySE(0x5); - ewram0_10.var304 = 0x9; - } - } + if (gMain.newKeys & B_BUTTON) { + PlaySE(SE_SELECT); + sub_80F4FDC(); + move_anim_execute(); + ewram0_10.var304 = 0x9; + } + else if (gMain.newKeys & A_BUTTON) { + if (!ewram0_10.var76aa) { + if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) { + PlaySE(SE_SELECT); + ewram0_10.var304 = 0x9; + } + } + else { + PlaySE(SE_SELECT); + ewram0_10.var304 = 0x9; + } + } */ - break; + break; - case 5: - if (gpu_sync_bg_show()) return; - sub_80F3D00(); - ewram0_10.var304 = 0x6; - break; - case 6: - if (sub_8055870()) return; - ewram0_10.var304 = 0x4; - break; - case 7: - sub_80EEFBC(0x3); - sub_80F3668(); - ewram0_10.var304 = 0x8; - break; - case 8: - if (sub_80F7500()) return; - sub_80EEFBC(0x2); - sub_80F3698(); - ewram0_10.var304 = 0x4; - break; - case 9: - if (!(var1 = sub_80F5038())) { - sub_80F0174(0); - sub_80F2F48(); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); - ewram0_10.var304 = 0xB; - } - break; - case 0xA: - if (gPaletteFade.active) return; - sub_80F3CE8(); - sub_80F5BDC(); - if (!ewram0_10.var76aa) { - sub_80F357C(); - sub_80F2D6C(0x1); - sub_80F2D6C(0x6); - sub_80EBDBC(&sub_80ECA10); - } - else { - sub_80F3614(); - sub_80EBDBC(&sub_80ED3D0); - } - break; - } + case 5: + if (gpu_sync_bg_show()) return; + sub_80F3D00(); + ewram0_10.var304 = 0x6; + break; + case 6: + if (sub_8055870()) return; + ewram0_10.var304 = 0x4; + break; + case 7: + sub_80EEFBC(0x3); + sub_80F3668(); + ewram0_10.var304 = 0x8; + break; + case 8: + if (sub_80F7500()) return; + sub_80EEFBC(0x2); + sub_80F3698(); + ewram0_10.var304 = 0x4; + break; + case 9: + if (!(var1 = sub_80F5038())) { + sub_80F0174(0); + sub_80F2F48(); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); + ewram0_10.var304 = 0xB; + } + break; + case 0xA: + if (gPaletteFade.active) return; + sub_80F3CE8(); + sub_80F5BDC(); + if (!ewram0_10.var76aa) { + sub_80F357C(); + sub_80F2D6C(0x1); + sub_80F2D6C(0x6); + sub_80EBDBC(&sub_80ECA10); + } + else { + sub_80F3614(); + sub_80EBDBC(&sub_80ED3D0); + } + break; + } } #else __attribute__((naked)) void sub_80ED858() { - asm_unified("push {r4,r5,lr}\n\ - sub sp, 0x4\n\ - ldr r1, _080ED878 @ =gSharedMem\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r0, r1, r2\n\ - ldrh r0, [r0]\n\ - adds r5, r1, 0\n\ - cmp r0, 0xB\n\ - bls _080ED86E\n\ - b _080EDB7A\n\ + asm_unified("push {r4,r5,lr}\n\ + sub sp, 0x4\n\ + ldr r1, _080ED878 @ =gSharedMem\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r1, r2\n\ + ldrh r0, [r0]\n\ + adds r5, r1, 0\n\ + cmp r0, 0xB\n\ + bls _080ED86E\n\ + b _080EDB7A\n\ _080ED86E:\n\ - lsls r0, 2\n\ - ldr r1, _080ED87C @ =_080ED880\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ + lsls r0, 2\n\ + ldr r1, _080ED87C @ =_080ED880\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ _080ED878: .4byte gSharedMem\n\ _080ED87C: .4byte _080ED880\n\ - .align 2, 0\n\ + .align 2, 0\n\ _080ED880:\n\ - .4byte _080ED8B0\n\ - .4byte _080ED8CC\n\ - .4byte _080ED8EC\n\ - .4byte _080ED904\n\ - .4byte _080ED91A\n\ - .4byte _080EDA68\n\ - .4byte _080EDA8C\n\ - .4byte _080EDAA4\n\ - .4byte _080EDAC0\n\ - .4byte _080EDAE8\n\ - .4byte _080EDB7A\n\ - .4byte _080EDB28\n\ + .4byte _080ED8B0\n\ + .4byte _080ED8CC\n\ + .4byte _080ED8EC\n\ + .4byte _080ED904\n\ + .4byte _080ED91A\n\ + .4byte _080EDA68\n\ + .4byte _080EDA8C\n\ + .4byte _080EDAA4\n\ + .4byte _080EDAC0\n\ + .4byte _080EDAE8\n\ + .4byte _080EDB7A\n\ + .4byte _080EDB28\n\ _080ED8B0:\n\ - bl sub_80F4F78\n\ - bl sub_80F5B38\n\ - ldr r0, _080ED8C8 @ =gSharedMem\n\ - movs r4, 0xC1\n\ - lsls r4, 2\n\ - adds r0, r4\n\ - movs r1, 0x1\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + bl sub_80F4F78\n\ + bl sub_80F5B38\n\ + ldr r0, _080ED8C8 @ =gSharedMem\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ + movs r1, 0x1\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080ED8C8: .4byte gSharedMem\n\ _080ED8CC:\n\ - bl sub_80F5B50\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080ED8D8\n\ - b _080EDB7A\n\ + bl sub_80F5B50\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080ED8D8\n\ + b _080EDB7A\n\ _080ED8D8:\n\ - ldr r0, _080ED8E8 @ =gSharedMem\n\ - movs r1, 0xC1\n\ - lsls r1, 2\n\ - adds r0, r1\n\ - movs r1, 0x2\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + ldr r0, _080ED8E8 @ =gSharedMem\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + movs r1, 0x2\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080ED8E8: .4byte gSharedMem\n\ _080ED8EC:\n\ - movs r0, 0x1\n\ - bl sub_80F0174\n\ - ldr r0, _080ED900 @ =gSharedMem\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r0, r2\n\ - movs r1, 0x3\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r0, 0x1\n\ + bl sub_80F0174\n\ + ldr r0, _080ED900 @ =gSharedMem\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r2\n\ + movs r1, 0x3\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080ED900: .4byte gSharedMem\n\ _080ED904:\n\ - bl sub_80F4FB4\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080ED910\n\ - b _080EDB7A\n\ + bl sub_80F4FB4\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080ED910\n\ + b _080EDB7A\n\ _080ED910:\n\ - bl sub_80F3C94\n\ - bl sub_80F3D00\n\ - b _080EDAD4\n\ + bl sub_80F3C94\n\ + bl sub_80F3D00\n\ + b _080EDAD4\n\ _080ED91A:\n\ - ldr r2, _080ED960 @ =gMain\n\ - ldrh r1, [r2, 0x2C]\n\ - movs r0, 0x40\n\ - ands r0, r1\n\ - adds r3, r2, 0\n\ - cmp r0, 0\n\ - beq _080ED970\n\ - ldr r1, _080ED964 @ =0x000087cb\n\ - adds r0, r5, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _080ED970\n\ - ldr r2, _080ED968 @ =0x000076aa\n\ - adds r0, r5, r2\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _080ED948\n\ - ldr r4, _080ED96C @ =0x000087dc\n\ - adds r0, r5, r4\n\ - movs r1, 0\n\ - ldrsh r0, [r0, r1]\n\ - cmp r0, 0\n\ - beq _080ED970\n\ + ldr r2, _080ED960 @ =gMain\n\ + ldrh r1, [r2, 0x2C]\n\ + movs r0, 0x40\n\ + ands r0, r1\n\ + adds r3, r2, 0\n\ + cmp r0, 0\n\ + beq _080ED970\n\ + ldr r1, _080ED964 @ =0x000087cb\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED970\n\ + ldr r2, _080ED968 @ =0x000076aa\n\ + adds r0, r5, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED948\n\ + ldr r4, _080ED96C @ =0x000087dc\n\ + adds r0, r5, r4\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + beq _080ED970\n\ _080ED948:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x1\n\ - bl sub_80F5060\n\ - bl move_anim_execute\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r1, r5, r2\n\ - b _080ED9B8\n\ - .align 2, 0\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + b _080ED9B8\n\ + .align 2, 0\n\ _080ED960: .4byte gMain\n\ _080ED964: .4byte 0x000087cb\n\ _080ED968: .4byte 0x000076aa\n\ _080ED96C: .4byte 0x000087dc\n\ _080ED970:\n\ - ldrh r1, [r3, 0x2C]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080ED9CC\n\ - ldr r4, _080ED9C0 @ =0x000087cb\n\ - adds r0, r5, r4\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _080ED9CC\n\ - ldr r1, _080ED9C4 @ =0x000076aa\n\ - adds r0, r5, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _080ED9A2\n\ - ldr r2, _080ED9C8 @ =0x000087dc\n\ - adds r0, r5, r2\n\ - subs r4, 0x57\n\ - adds r1, r5, r4\n\ - movs r4, 0\n\ - ldrsh r2, [r0, r4]\n\ - movs r4, 0\n\ - ldrsh r0, [r1, r4]\n\ - cmp r2, r0\n\ - bge _080ED9CC\n\ + ldrh r1, [r3, 0x2C]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080ED9CC\n\ + ldr r4, _080ED9C0 @ =0x000087cb\n\ + adds r0, r5, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED9CC\n\ + ldr r1, _080ED9C4 @ =0x000076aa\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED9A2\n\ + ldr r2, _080ED9C8 @ =0x000087dc\n\ + adds r0, r5, r2\n\ + subs r4, 0x57\n\ + adds r1, r5, r4\n\ + movs r4, 0\n\ + ldrsh r2, [r0, r4]\n\ + movs r4, 0\n\ + ldrsh r0, [r1, r4]\n\ + cmp r2, r0\n\ + bge _080ED9CC\n\ _080ED9A2:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0\n\ - bl sub_80F5060\n\ - bl move_anim_execute\n\ - movs r0, 0xC1\n\ - lsls r0, 2\n\ - adds r1, r5, r0\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + movs r0, 0xC1\n\ + lsls r0, 2\n\ + adds r1, r5, r0\n\ _080ED9B8:\n\ - movs r0, 0x5\n\ - strh r0, [r1]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r0, 0x5\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080ED9C0: .4byte 0x000087cb\n\ _080ED9C4: .4byte 0x000076aa\n\ _080ED9C8: .4byte 0x000087dc\n\ _080ED9CC:\n\ - ldrh r2, [r3, 0x2E]\n\ - movs r0, 0x2\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _080ED9F8\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - bl sub_80F4FDC\n\ - bl move_anim_execute\n\ - ldr r0, _080ED9F4 @ =gSharedMem\n\ - movs r1, 0xC1\n\ - lsls r1, 2\n\ - adds r0, r1\n\ - movs r1, 0x9\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + ldrh r2, [r3, 0x2E]\n\ + movs r0, 0x2\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _080ED9F8\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + bl sub_80F4FDC\n\ + bl move_anim_execute\n\ + ldr r0, _080ED9F4 @ =gSharedMem\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + movs r1, 0x9\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080ED9F4: .4byte gSharedMem\n\ _080ED9F8:\n\ - movs r0, 0x1\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - bne _080EDA02\n\ - b _080EDB7A\n\ + movs r0, 0x1\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _080EDA02\n\ + b _080EDB7A\n\ _080EDA02:\n\ - adds r4, r5, 0\n\ - ldr r2, _080EDA38 @ =0x000076aa\n\ - adds r0, r4, r2\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _080EDA44\n\ - ldr r1, _080EDA3C @ =0x000087dc\n\ - adds r0, r4, r1\n\ - movs r2, 0\n\ - ldrsh r1, [r0, r2]\n\ - ldr r2, _080EDA40 @ =0x000087da\n\ - adds r0, r4, r2\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - subs r0, 0x1\n\ - cmp r1, r0\n\ - beq _080EDA26\n\ - b _080EDB7A\n\ + adds r4, r5, 0\n\ + ldr r2, _080EDA38 @ =0x000076aa\n\ + adds r0, r4, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080EDA44\n\ + ldr r1, _080EDA3C @ =0x000087dc\n\ + adds r0, r4, r1\n\ + movs r2, 0\n\ + ldrsh r1, [r0, r2]\n\ + ldr r2, _080EDA40 @ =0x000087da\n\ + adds r0, r4, r2\n\ + movs r2, 0\n\ + ldrsh r0, [r0, r2]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + beq _080EDA26\n\ + b _080EDB7A\n\ _080EDA26:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0xC1\n\ - lsls r0, 2\n\ - adds r1, r4, r0\n\ - movs r0, 0x9\n\ - strh r0, [r1]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0xC1\n\ + lsls r0, 2\n\ + adds r1, r4, r0\n\ + movs r0, 0x9\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDA38: .4byte 0x000076aa\n\ _080EDA3C: .4byte 0x000087dc\n\ _080EDA40: .4byte 0x000087da\n\ _080EDA44:\n\ - ldr r1, _080EDA64 @ =0x00006dac\n\ - adds r0, r5, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _080EDA50\n\ - b _080EDB7A\n\ + ldr r1, _080EDA64 @ =0x00006dac\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080EDA50\n\ + b _080EDB7A\n\ _080EDA50:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r1, r5, r2\n\ - movs r0, 0x7\n\ - strh r0, [r1]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + movs r0, 0x7\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDA64: .4byte 0x00006dac\n\ _080EDA68:\n\ - bl gpu_sync_bg_show\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080EDA74\n\ - b _080EDB7A\n\ + bl gpu_sync_bg_show\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080EDA74\n\ + b _080EDB7A\n\ _080EDA74:\n\ - bl sub_80F3D00\n\ - ldr r0, _080EDA88 @ =gSharedMem\n\ - movs r4, 0xC1\n\ - lsls r4, 2\n\ - adds r0, r4\n\ - movs r1, 0x6\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + bl sub_80F3D00\n\ + ldr r0, _080EDA88 @ =gSharedMem\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ + movs r1, 0x6\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDA88: .4byte gSharedMem\n\ _080EDA8C:\n\ - bl sub_8055870\n\ - cmp r0, 0\n\ - bne _080EDB7A\n\ - ldr r0, _080EDAA0 @ =gSharedMem\n\ - movs r1, 0xC1\n\ - lsls r1, 2\n\ - adds r0, r1\n\ - b _080EDADC\n\ - .align 2, 0\n\ + bl sub_8055870\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + ldr r0, _080EDAA0 @ =gSharedMem\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + b _080EDADC\n\ + .align 2, 0\n\ _080EDAA0: .4byte gSharedMem\n\ _080EDAA4:\n\ - movs r0, 0x3\n\ - bl sub_80EEFBC\n\ - bl sub_80F3668\n\ - ldr r0, _080EDABC @ =gSharedMem\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r0, r2\n\ - movs r1, 0x8\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r0, 0x3\n\ + bl sub_80EEFBC\n\ + bl sub_80F3668\n\ + ldr r0, _080EDABC @ =gSharedMem\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r2\n\ + movs r1, 0x8\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDABC: .4byte gSharedMem\n\ _080EDAC0:\n\ - bl sub_80F7500\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080EDB7A\n\ - movs r0, 0x2\n\ - bl sub_80EEFBC\n\ - bl sub_80F3698\n\ + bl sub_80F7500\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + movs r0, 0x2\n\ + bl sub_80EEFBC\n\ + bl sub_80F3698\n\ _080EDAD4:\n\ - ldr r0, _080EDAE4 @ =gSharedMem\n\ - movs r4, 0xC1\n\ - lsls r4, 2\n\ - adds r0, r4\n\ + ldr r0, _080EDAE4 @ =gSharedMem\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ _080EDADC:\n\ - movs r1, 0x4\n\ - strh r1, [r0]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + movs r1, 0x4\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDAE4: .4byte gSharedMem\n\ _080EDAE8:\n\ - bl sub_80F5038\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, 0\n\ - bne _080EDB7A\n\ - movs r0, 0\n\ - bl sub_80F0174\n\ - bl sub_80F2F48\n\ - ldr r5, _080EDB24 @ =gSharedMem\n\ - movs r1, 0xC2\n\ - lsls r1, 2\n\ - adds r0, r5, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - str r4, [sp]\n\ - movs r2, 0\n\ - movs r3, 0x10\n\ - bl BeginNormalPaletteFade\n\ - movs r2, 0xC1\n\ - lsls r2, 2\n\ - adds r1, r5, r2\n\ - movs r0, 0xB\n\ - strh r0, [r1]\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + bl sub_80F5038\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0\n\ + bne _080EDB7A\n\ + movs r0, 0\n\ + bl sub_80F0174\n\ + bl sub_80F2F48\n\ + ldr r5, _080EDB24 @ =gSharedMem\n\ + movs r1, 0xC2\n\ + lsls r1, 2\n\ + adds r0, r5, r1\n\ + ldr r0, [r0]\n\ + movs r1, 0x1\n\ + negs r1, r1\n\ + str r4, [sp]\n\ + movs r2, 0\n\ + movs r3, 0x10\n\ + bl BeginNormalPaletteFade\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + movs r0, 0xB\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDB24: .4byte gSharedMem\n\ _080EDB28:\n\ - ldr r0, _080EDB60 @ =gPaletteFade\n\ - ldrb r1, [r0, 0x7]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080EDB7A\n\ - bl sub_80F3CE8\n\ - bl sub_80F5BDC\n\ - ldr r0, _080EDB64 @ =gSharedMem\n\ - ldr r4, _080EDB68 @ =0x000076aa\n\ - adds r0, r4\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _080EDB70\n\ - bl sub_80F357C\n\ - movs r0, 0x1\n\ - bl sub_80F2D6C\n\ - movs r0, 0x6\n\ - bl sub_80F2D6C\n\ - ldr r0, _080EDB6C @ =sub_80ECA10\n\ - bl sub_80EBDBC\n\ - b _080EDB7A\n\ - .align 2, 0\n\ + ldr r0, _080EDB60 @ =gPaletteFade\n\ + ldrb r1, [r0, 0x7]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + bl sub_80F3CE8\n\ + bl sub_80F5BDC\n\ + ldr r0, _080EDB64 @ =gSharedMem\n\ + ldr r4, _080EDB68 @ =0x000076aa\n\ + adds r0, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080EDB70\n\ + bl sub_80F357C\n\ + movs r0, 0x1\n\ + bl sub_80F2D6C\n\ + movs r0, 0x6\n\ + bl sub_80F2D6C\n\ + ldr r0, _080EDB6C @ =sub_80ECA10\n\ + bl sub_80EBDBC\n\ + b _080EDB7A\n\ + .align 2, 0\n\ _080EDB60: .4byte gPaletteFade\n\ _080EDB64: .4byte gSharedMem\n\ _080EDB68: .4byte 0x000076aa\n\ _080EDB6C: .4byte sub_80ECA10\n\ _080EDB70:\n\ - bl sub_80F3614\n\ - ldr r0, _080EDB84 @ =sub_80ED3D0\n\ - bl sub_80EBDBC\n\ + bl sub_80F3614\n\ + ldr r0, _080EDB84 @ =sub_80ED3D0\n\ + bl sub_80EBDBC\n\ _080EDB7A:\n\ - add sp, 0x4\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ + add sp, 0x4\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ _080EDB84: .4byte sub_80ED3D0\n"); } #endif -void sub_80EDB88() { - u8 var1; - switch (ewram0_10.var304) { - case 0: - sub_80F1E84(); - sub_80F2D04(0); - ewram0_10.var304++; - break; - case 1: - if (sub_80F1F10()) return; - sub_80EEFBC(0x4); - ewram0_10.var304++; - break; - case 2: - if (!(var1 = sub_80EEF34())) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); +void sub_80EDB88() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F1F10()) + { + sub_80EEFBC(0x4); ewram0_10.var304++; } - break; - case 3: - if (gPaletteFade.active) return; - SetVBlankCallback(0); - sub_80EED0C(); - sub_80EF814(); - ewram0_10.var304++; - break; - case 4: - sub_80F2620(); - ewram0_10.var304++; - break; - case 5: - sub_80F638C(); - ewram0_10.var304++; - case 6: - if (!sub_80F63D0()) { - ewram0_10.var304 += 0x2; - break; + break; + case 2: + if (!sub_80EEF34()) + { + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + ewram0_10.var304++; + } + break; + case 3: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + ewram0_10.var304++; } - ewram0_10.var304++; - break; - case 7: - if (sub_8055870()) return; - ewram0_10.var304--; - break; - case 8: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 9: - sub_80F0264(0x1); - ewram0_10.var304++; - case 10: - if (sub_80F02A0()) return; - ewram0_10.var304++; - break; - case 11: - sub_80F2C80(0x2); - ewram0_10.var304++; - case 12: - if (sub_80F2CBC(0x2)) return; - ewram0_10.var304++; - break; - case 13: - sub_80F3008(0x1); - ewram0_10.var304++; - break; - case 14: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 15: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 16: - sub_80EED2C(0x4); - ewram0_10.var304++; - break; - case 17: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80EDDBC); - break; - } + break; + case 4: + sub_80F2620(); + ewram0_10.var304++; + break; + case 5: + sub_80F638C(); + ewram0_10.var304++; + case 6: + if (!sub_80F63D0()) + ewram0_10.var304 += 2; + else + ewram0_10.var304 += 1; + break; + case 7: + if (!sub_8055870()) + ewram0_10.var304--; + break; + case 8: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 9: + sub_80F0264(0x1); + ewram0_10.var304++; + case 10: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 11: + sub_80F2C80(0x2); + ewram0_10.var304++; + case 12: + if (!sub_80F2CBC(0x2)) + ewram0_10.var304++; + break; + case 13: + sub_80F3008(0x1); + ewram0_10.var304++; + break; + case 14: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 15: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 16: + sub_80EED2C(0x4); + ewram0_10.var304++; + break; + case 17: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80EDDBC); + break; + } } -void sub_80EDDBC() { - switch (ewram0_10.var304) { - case 0: - switch (sub_80F5DD4()) { - case 1: - PlaySE(0x5); +void sub_80EDDBC() +{ + switch (ewram0_10.var304) + { + case 0: + switch (sub_80F5DD4()) + { + case 1: + PlaySE(SE_SELECT); + ShowMapNamePopUpWindow(); + break; + case 2: + PlaySE(SE_SELECT); + ewram0_10.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EDEE4); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EDE70); + } + break; + } + break; + case 1: + if (!sub_80F0718()) + { ShowMapNamePopUpWindow(); - break; - case 2: - PlaySE(0x5); + sub_80F3264(); ewram0_10.var304++; - break; - default: - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EDEE4); - } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EDE70); - } - break; } - break; - case 1: - if (sub_80F0718()) return; - ShowMapNamePopUpWindow(); - sub_80F3264(); - ewram0_10.var304++; - break; - case 2: - if (sub_8055870()) return; - ewram0_10.var304 = 0; - break; + break; + case 2: + if (!sub_8055870()) + ewram0_10.var304 = 0; + break; - } + } } -void sub_80EDE70() { - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - sub_80F3130(); - sub_80F2D6C(0x2); - ewram0_10.var304++; - break; - case 2: - sub_80EBDBC(&sub_80EC00C); - break; - } +void sub_80EDE70() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + sub_80F3130(); + sub_80F2D6C(0x2); + ewram0_10.var304++; + } + break; + case 2: + sub_80EBDBC(&sub_80EC00C); + break; + } } -void sub_80EDEE4() { - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80F3130(); - ewram0_10.var304++; - break; - case 2: - sub_80F66E0(); - sub_80EEE08(); - ewram0_10.var304++; - break; - case 3: - if (sub_80F1080()) return; - ewram0_10.var304++; - break; - case 4: - sub_80EEFBC(0x5); - sub_80F38B8(); - ewram0_10.var304++; - case 5: - if (sub_80F38EC()) return; - ewram0_10.var304++; - break; - case 6: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 7: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 8: - sub_80EED2C(0x3); - ewram0_10.var304++; - break; - case 9: - if (gPaletteFade.active) return; - ewram0_10.var304++; - break; - case 10: - if (sub_80F170C()) return; - sub_80EBDBC(&sub_80EE06C); - break; - } +void sub_80EDEE4() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3130(); + ewram0_10.var304++; + } + break; + case 2: + sub_80F66E0(); + sub_80EEE08(); + ewram0_10.var304++; + break; + case 3: + if (!sub_80F1080()) + ewram0_10.var304++; + break; + case 4: + sub_80EEFBC(0x5); + sub_80F38B8(); + ewram0_10.var304++; + case 5: + if (!sub_80F38EC()) + ewram0_10.var304++; + break; + case 6: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 7: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 8: + sub_80EED2C(0x3); + ewram0_10.var304++; + break; + case 9: + if (!gPaletteFade.active) + ewram0_10.var304++; + break; + case 10: + if (!sub_80F170C()) + sub_80EBDBC(&sub_80EE06C); + break; + } } -void sub_80EE06C() { - u32 var1; - u16 var2; - switch (ewram0_10.var304) { - case 0: - sub_80F15A8(); - ewram0_10.var304++; - break; - case 1: - if (gMain.newAndRepeatedKeys & 0x40) { - if (ewram0_10.var87DC) { - PlaySE(0x5); - sub_80F6A4C(-1); - ewram0_10.var304++; - } - else goto label1; - } - else goto label1; - break; -label1: - if (gMain.newAndRepeatedKeys & 0x80) { - if (ewram0_10.var87DC < ewram0_10.var8774) { - PlaySE(0x5); - sub_80F6A4C(1); - ewram0_10.var304++; - } - else goto label2; +void sub_80EE06C() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F15A8(); + ewram0_10.var304++; + break; + case 1: + if ((gMain.newAndRepeatedKeys & 0x40) && (ewram0_10.var87DC)) + { + PlaySE(SE_SELECT); + sub_80F6A4C(-1); + ewram0_10.var304++; + } + else if ((gMain.newAndRepeatedKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774) + { + PlaySE(SE_SELECT); + sub_80F6A4C(1); + ewram0_10.var304++; + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EEFBC(0xB); + ewram0_10.var304 = 0x4; + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EE294); + } + break; + case 2: + if (!sub_80F6AF0()) + ewram0_10.var304++; + break; + case 3: + if (!sub_8055870()) + ewram0_10.var304 = 0; + break; + case 4: + sub_80F3B00(); + ewram0_10.var304++; + break; + case 5: + if (!sub_80F3B58()) + { + sub_80F1494(); + ewram0_10.var304++; + sub_80EED9C(); } - else goto label2; - break; -label2: - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - sub_80EEFBC(0xB); + break; + case 6: + switch (sub_80F68E8()) + { + case 1: + PlaySE(SE_SELECT); + sub_80F3B94(); + ewram0_10.var304 = 0x7; + break; + default: + case 0: + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80F3B94(); + ewram0_10.var304 = 0x8; + } + break; + } + break; + case 7: + if (!sub_80F3BD4()) ewram0_10.var304 = 0x4; + break; + case 8: + if (!sub_80F3BD4()) + { + sub_80EEFBC(0x5); + ewram0_10.var304 = 0; } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EE294); - } - break; - case 2: - if (sub_80F6AF0()) return; - ewram0_10.var304++; - break; - case 3: - var1 = sub_8055870(); - if (var1) return; - ewram0_10.var304 = var1; - break; - case 4: - sub_80F3B00(); - ewram0_10.var304++; - break; - case 5: - if (sub_80F3B58()) return; - sub_80F1494(); - ewram0_10.var304++; - sub_80EED9C(); - break; - case 6: - switch (sub_80F68E8()) { - case 1: - PlaySE(0x5); - sub_80F3B94(); - ewram0_10.var304 = 0x7; - break; - default: - case 0: - if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80F3B94(); - ewram0_10.var304 = 0x8; - } - break; - } - break; - case 7: - if (sub_80F3BD4()) return; - ewram0_10.var304 = 0x4; - break; - case 8: - var2 = sub_80F3BD4(); - if (var2) return; - sub_80EEFBC(0x5); - ewram0_10.var304 = var2; - break; - } + break; + } } -void sub_80EE294() { - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80F3C2C(); - sub_80EEE08(); - ewram0_10.var304++; - break; - case 2: - sub_80F6134(); - sub_80F0264(0x1); - ewram0_10.var304++; - case 3: - if (sub_80F02A0()) return; - ewram0_10.var304++; - break; - case 4: - sub_80EEFBC(0x4); - sub_80F3008(0x1); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 5: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0x4); - ewram0_10.var304++; - break; - case 8: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80EDDBC); - break; - } +void sub_80EE294() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3C2C(); + sub_80EEE08(); + ewram0_10.var304++; + } + break; + case 2: + sub_80F6134(); + sub_80F0264(0x1); + ewram0_10.var304++; + case 3: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 4: + sub_80EEFBC(0x4); + sub_80F3008(0x1); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 5: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0x4); + ewram0_10.var304++; + break; + case 8: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80EDDBC); + break; + } } -void sub_80EE3D8() { - u8 var1; - switch (ewram0_10.var304) { - case 0: - sub_80F1E84(); - sub_80F2D04(0); - ewram0_10.var304++; - break; - case 1: - if (sub_80F1F10()) return; - sub_80EEFBC(0x9); - ewram0_10.var304++; - break; - case 2: - if (!(var1 = sub_80EEF34())) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1); +void sub_80EE3D8() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F1F10()) + { + sub_80EEFBC(0x9); ewram0_10.var304++; } - break; - case 3: - if (gPaletteFade.active) return; - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80EF814(); - sub_80EEE08(); - ewram0_10.var304++; - break; - case 4: - sub_80F2620(); - ewram0_10.var304++; - break; - case 5: - sub_80F0264(0x2); - ewram0_10.var304++; - case 6: - if (sub_80F02A0()) return; - ewram0_10.var304++; - break; - case 7: - sub_80F2C80(0x3); - ewram0_10.var304++; - case 8: - if (sub_80F2CBC(0x3)) return; - ewram0_10.var304++; - break; - case 9: - sub_80F3008(0x2); - ewram0_10.var304++; - break; - case 10: - if (sub_8055870()) return; - ewram0_10.var304++; - break; - case 11: - sub_80F6F10(); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - SetVBlankCallback(&sub_80EBD68); - ewram0_10.var304++; - break; - case 12: - sub_80EED2C(0x5); - ewram0_10.var304++; - break; - case 13: - if (gPaletteFade.active) return; - sub_80EBDBC(&sub_80EE58C); - break; - } + break; + case 2: + if (!sub_80EEF34()) + { + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + ewram0_10.var304++; + } + break; + case 3: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + sub_80EEE08(); + ewram0_10.var304++; + } + break; + case 4: + sub_80F2620(); + ewram0_10.var304++; + break; + case 5: + sub_80F0264(0x2); + ewram0_10.var304++; + case 6: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 7: + sub_80F2C80(0x3); + ewram0_10.var304++; + case 8: + if (!sub_80F2CBC(0x3)) + ewram0_10.var304++; + break; + case 9: + sub_80F3008(0x2); + ewram0_10.var304++; + break; + case 10: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 11: + sub_80F6F10(); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD68); + ewram0_10.var304++; + break; + case 12: + sub_80EED2C(0x5); + ewram0_10.var304++; + break; + case 13: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80EE58C); + break; + } } -void sub_80EE58C() { - switch (ewram0_10.var304) { - case 0: - switch (sub_80F5DD4()) { - case 1: - PlaySE(0x5); +void sub_80EE58C() +{ + switch (ewram0_10.var304) + { + case 0: + switch (sub_80F5DD4()) + { + case 1: + PlaySE(SE_SELECT); + sub_80F0FFC(ewram0_10.var876E); + break; + case 2: + PlaySE(SE_SELECT); + ewram0_10.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EE658); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80EBDBC(&sub_80EE8F4); + } + break; + } + break; + case 1: + if (!sub_80F0718()) + { sub_80F0FFC(ewram0_10.var876E); - break; - case 2: - PlaySE(0x5); + sub_80F3264(); ewram0_10.var304++; - break; - default: - if (gMain.newKeys & A_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EE658); - } - else if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80EBDBC(&sub_80EE8F4); - } - break; } - break; - case 1: - if (sub_80F0718()) return; - sub_80F0FFC(ewram0_10.var876E); - sub_80F3264(); - ewram0_10.var304++; - break; - case 2: - if (sub_8055870()) return; - ewram0_10.var304 = 0; - break; - } + break; + case 2: + if (!sub_8055870()) + ewram0_10.var304 = 0; + break; + } } -void sub_80EE658() { - switch (ewram0_10.var304) { - case 0: - sub_80F3294(0x1); - sub_80EEFBC(0xA); - sub_80F0B24(); - ewram0_10.var304++; - break; - case 1: - if (sub_80F0B44()) return; - ewram0_10.var304++; - break; - case 2: - sub_80F0F64(); - ewram0_10.var304++; - break; - case 3: - if (sub_80F0FEC()) return; - sub_80F6FB8(0x1); - ewram0_10.var304++; - break; - case 4: - sub_80F6DB8(); - ewram0_10.var304++; - break; - case 5: - sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A)); - sub_80F42C4((u8 *)(gSharedMem + 0x8788)); - ewram0_10.var304++; - break; - case 6: - sub_80F0CD8(); - ewram0_10.var304++; - case 7: - if (sub_80F6E9C()) return; - if (sub_80F0D5C()) return; - ewram0_10.var304++; - break; - case 8: - if (gMain.heldKeys & 0x40) { - if (ewram0_10.var87DC) { - PlaySE(0x5); - sub_80F708C(-1); - ewram0_10.var304 = 0x10; - } - else goto label1; - } - else goto label1; - break; -label1: - if (gMain.heldKeys & 0x80) { - if (ewram0_10.var87DC < ewram0_10.var8774) { - PlaySE(0x5); - sub_80F708C(1); - ewram0_10.var304 = 0x10; - } - else goto label2; +void sub_80EE658() +{ + switch (ewram0_10.var304) + { + case 0: + sub_80F3294(0x1); + sub_80EEFBC(0xA); + sub_80F0B24(); + ewram0_10.var304++; + break; + case 1: + if (!sub_80F0B44()) + ewram0_10.var304++; + break; + case 2: + sub_80F0F64(); + ewram0_10.var304++; + break; + case 3: + if (!sub_80F0FEC()) + { + sub_80F6FB8(0x1); + ewram0_10.var304++; } - else goto label2; - break; -label2: - if (gMain.newKeys & B_BUTTON) { - PlaySE(0x5); - sub_80F4394(); - sub_80F0EC0(); + break; + case 4: + sub_80F6DB8(); + ewram0_10.var304++; + break; + case 5: + sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A)); + sub_80F42C4((u8 *)(gSharedMem + 0x8788)); + ewram0_10.var304++; + break; + case 6: + sub_80F0CD8(); + ewram0_10.var304++; + case 7: + if (!sub_80F6E9C() && !sub_80F0D5C()) + ewram0_10.var304++; + break; + case 8: + if ((gMain.heldKeys & 0x40) && ewram0_10.var87DC) + { + PlaySE(SE_SELECT); + sub_80F708C(-1); + ewram0_10.var304 = 0x10; + } + else if ((gMain.heldKeys & 0x80) && ewram0_10.var87DC < ewram0_10.var8774) + { + PlaySE(SE_SELECT); + sub_80F708C(1); + ewram0_10.var304 = 0x10; + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80F4394(); + sub_80F0EC0(); + ewram0_10.var304++; + } + break; + case 9: + if (!sub_80F6ED4() && !sub_80F0EF4()) + { + sub_80F6FB8(0); + sub_80F2FB0(); ewram0_10.var304++; } - break; - case 9: - if (sub_80F6ED4()) return; - if (sub_80F0EF4()) return; - sub_80F6FB8(0); - sub_80F2FB0(); - ewram0_10.var304++; - break; - case 10: - sub_80F6134(); - ewram0_10.var304++; - break; - case 11: - sub_80F0FA0(); - ewram0_10.var304++; - break; - case 12: - if (sub_80F0FEC()) return; - ewram0_10.var304++; - break; - case 13: - sub_80F0C28(); - ewram0_10.var304++; - break; - case 14: - if (sub_80F0C48()) return; - ewram0_10.var304++; - break; - case 15: - sub_80EEFBC(0x9); - sub_80F3294(0); - sub_80EBDBC(&sub_80EE58C); - sub_80EED9C(); - break; - case 16: - if (sub_80F70FC()) return; - ewram0_10.var304++; - break; - case 17: - if (sub_8055870()) return; - ewram0_10.var304 = 0x8; - break; - } + break; + case 10: + sub_80F6134(); + ewram0_10.var304++; + break; + case 11: + sub_80F0FA0(); + ewram0_10.var304++; + break; + case 12: + if (!sub_80F0FEC()) + ewram0_10.var304++; + break; + case 13: + sub_80F0C28(); + ewram0_10.var304++; + break; + case 14: + if (!sub_80F0C48()) + ewram0_10.var304++; + break; + case 15: + sub_80EEFBC(0x9); + sub_80F3294(0); + sub_80EBDBC(&sub_80EE58C); + sub_80EED9C(); + break; + case 16: + if (!sub_80F70FC()) + ewram0_10.var304++; + break; + case 17: + if (!sub_8055870()) + ewram0_10.var304 = 0x8; + break; + } } -void sub_80EE8F4() { - switch (ewram0_10.var304) { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (gPaletteFade.active) return; - sub_80F3130(); - sub_80F2D6C(0x2); - sub_80F6FFC(); - ewram0_10.var304++; - break; - case 2: - sub_80EBDBC(&sub_80EC00C); - break; - } +void sub_80EE8F4() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + sub_80F3130(); + sub_80F2D6C(0x2); + sub_80F6FFC(); + ewram0_10.var304++; + } + break; + case 2: + sub_80EBDBC(&sub_80EC00C); + break; + } } -void sub_80EE96C() { - u16 var1 = ewram0_10.var304; - if (!var1) { - PlaySE(0x6F); - BeginNormalPaletteFade(-1, 0, 0, 0x10, var1); - ewram0_10.var304++; - } - else { - if (gPaletteFade.active) return; - sub_80F5BDC(); - sub_805469C(); - } +void sub_80EE96C() +{ + if (!ewram0_10.var304) + { + PlaySE(0x6F); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + ewram0_10.var304++; + } + else + { + if (!gPaletteFade.active) + { + sub_80F5BDC(); + sub_805469C(); + } + } } -void sub_80EE9C0(u8 param1, u8 param2, u8 param3) { - sub_80F1E84(); - ewram0_10.var6e14 = param1; - ewram0_10.var6e15 = param2; - ewram0_10.var6e16 = 0; - ewram0_10.var6e17 = param3; +void sub_80EE9C0(u8 param1, u8 param2, u8 param3) +{ + sub_80F1E84(); + ewram0_10.var6e14 = param1; + ewram0_10.var6e15 = param2; + ewram0_10.var6e16 = 0; + ewram0_10.var6e17 = param3; } #if 0 bool8 sub_80EEA0C() { - switch (ewram0_10.var6e16) { - case 0: - if (sub_80F1F10()) return 1; - if (ewram0_10.var6e17 != 0xC) { - ewram0_10.var6e16 = 0x1; - return 1; - } - else { - ewram0_10.var6e16 = 0x3; - return 1; - } - case 1: - sub_80F2C80(ewram0_10.var6e17); - ewram0_10.var6e16++; - case 2: - if (sub_80F2CBC(ewram0_10.var6e17)) return 1; - ewram0_10.var6e16++; - case 3: - - } + switch (ewram0_10.var6e16) { + case 0: + if (sub_80F1F10()) return 1; + if (ewram0_10.var6e17 != 0xC) { + ewram0_10.var6e16 = 0x1; + return 1; + } + else { + ewram0_10.var6e16 = 0x3; + return 1; + } + case 1: + sub_80F2C80(ewram0_10.var6e17); + ewram0_10.var6e16++; + case 2: + if (sub_80F2CBC(ewram0_10.var6e17)) return 1; + ewram0_10.var6e16++; + case 3: + + } } #else __attribute__((naked)) bool8 sub_80EEA0C() { - asm_unified( - "push {r4,lr}\n\ - ldr r1, _080EEA28 @ =gSharedMem\n\ - ldr r2, _080EEA2C @ =0x00006e16\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r3, r1, 0\n\ - cmp r0, 0x8\n\ - bls _080EEA1E\n\ - b _080EEBFA\n\ + asm_unified( + "push {r4,lr}\n\ + ldr r1, _080EEA28 @ =gSharedMem\n\ + ldr r2, _080EEA2C @ =0x00006e16\n\ + adds r0, r1, r2\n\ + ldrb r0, [r0]\n\ + adds r3, r1, 0\n\ + cmp r0, 0x8\n\ + bls _080EEA1E\n\ + b _080EEBFA\n\ _080EEA1E:\n\ - lsls r0, 2\n\ - ldr r1, _080EEA30 @ =_080EEA34\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ + lsls r0, 2\n\ + ldr r1, _080EEA30 @ =_080EEA34\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ _080EEA28: .4byte gSharedMem\n\ _080EEA2C: .4byte 0x00006e16\n\ _080EEA30: .4byte _080EEA34\n\ - .align 2, 0\n\ + .align 2, 0\n\ _080EEA34:\n\ - .4byte _080EEA58\n\ - .4byte _080EEA98\n\ - .4byte _080EEAAE\n\ - .4byte _080EEAD4\n\ - .4byte _080EEB3E\n\ - .4byte _080EEB68\n\ - .4byte _080EEB88\n\ - .4byte _080EEBAC\n\ - .4byte _080EEBE4\n\ + .4byte _080EEA58\n\ + .4byte _080EEA98\n\ + .4byte _080EEAAE\n\ + .4byte _080EEAD4\n\ + .4byte _080EEB3E\n\ + .4byte _080EEB68\n\ + .4byte _080EEB88\n\ + .4byte _080EEBAC\n\ + .4byte _080EEBE4\n\ _080EEA58:\n\ - bl sub_80F1F10\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080EEA64\n\ - b _080EEC08\n\ + bl sub_80F1F10\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080EEA64\n\ + b _080EEC08\n\ _080EEA64:\n\ - ldr r1, _080EEA7C @ =gSharedMem\n\ - ldr r4, _080EEA80 @ =0x00006e17\n\ - adds r0, r1, r4\n\ - ldrb r0, [r0]\n\ - cmp r0, 0xC\n\ - beq _080EEA88\n\ - ldr r0, _080EEA84 @ =0x00006e16\n\ - adds r1, r0\n\ - movs r0, 0x1\n\ - strb r0, [r1]\n\ - b _080EEC08\n\ - .align 2, 0\n\ + ldr r1, _080EEA7C @ =gSharedMem\n\ + ldr r4, _080EEA80 @ =0x00006e17\n\ + adds r0, r1, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0xC\n\ + beq _080EEA88\n\ + ldr r0, _080EEA84 @ =0x00006e16\n\ + adds r1, r0\n\ + movs r0, 0x1\n\ + strb r0, [r1]\n\ + b _080EEC08\n\ + .align 2, 0\n\ _080EEA7C: .4byte gSharedMem\n\ _080EEA80: .4byte 0x00006e17\n\ _080EEA84: .4byte 0x00006e16\n\ _080EEA88:\n\ - ldr r2, _080EEA94 @ =0x00006e16\n\ - adds r1, r2\n\ - movs r0, 0x3\n\ - strb r0, [r1]\n\ - b _080EEC08\n\ - .align 2, 0\n\ + ldr r2, _080EEA94 @ =0x00006e16\n\ + adds r1, r2\n\ + movs r0, 0x3\n\ + strb r0, [r1]\n\ + b _080EEC08\n\ + .align 2, 0\n\ _080EEA94: .4byte 0x00006e16\n\ _080EEA98:\n\ - ldr r4, _080EEAC8 @ =gSharedMem\n\ - ldr r1, _080EEACC @ =0x00006e17\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F2C80\n\ - ldr r2, _080EEAD0 @ =0x00006e16\n\ - adds r4, r2\n\ - ldrb r0, [r4]\n\ - adds r0, 0x1\n\ - strb r0, [r4]\n\ + ldr r4, _080EEAC8 @ =gSharedMem\n\ + ldr r1, _080EEACC @ =0x00006e17\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F2C80\n\ + ldr r2, _080EEAD0 @ =0x00006e16\n\ + adds r4, r2\n\ + ldrb r0, [r4]\n\ + adds r0, 0x1\n\ + strb r0, [r4]\n\ _080EEAAE:\n\ - ldr r4, _080EEAC8 @ =gSharedMem\n\ - ldr r1, _080EEACC @ =0x00006e17\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F2CBC\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080EEAC2\n\ - b _080EEC08\n\ + ldr r4, _080EEAC8 @ =gSharedMem\n\ + ldr r1, _080EEACC @ =0x00006e17\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F2CBC\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080EEAC2\n\ + b _080EEC08\n\ _080EEAC2:\n\ - ldr r2, _080EEAD0 @ =0x00006e16\n\ - adds r1, r4, r2\n\ - b _080EEB76\n\ - .align 2, 0\n\ + ldr r2, _080EEAD0 @ =0x00006e16\n\ + adds r1, r4, r2\n\ + b _080EEB76\n\ + .align 2, 0\n\ _080EEAC8: .4byte gSharedMem\n\ _080EEACC: .4byte 0x00006e17\n\ _080EEAD0: .4byte 0x00006e16\n\ _080EEAD4:\n\ - adds r2, r3, 0\n\ - ldr r4, _080EEAF8 @ =0x00006e15\n\ - adds r0, r2, r4\n\ - ldrb r1, [r0]\n\ - subs r4, 0x68\n\ - adds r0, r2, r4\n\ - strb r1, [r0]\n\ - ldr r1, _080EEAFC @ =0x00006e14\n\ - adds r0, r2, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x1\n\ - beq _080EEB14\n\ - cmp r0, 0x1\n\ - bgt _080EEB00\n\ - cmp r0, 0\n\ - beq _080EEB06\n\ - b _080EEB28\n\ - .align 2, 0\n\ + adds r2, r3, 0\n\ + ldr r4, _080EEAF8 @ =0x00006e15\n\ + adds r0, r2, r4\n\ + ldrb r1, [r0]\n\ + subs r4, 0x68\n\ + adds r0, r2, r4\n\ + strb r1, [r0]\n\ + ldr r1, _080EEAFC @ =0x00006e14\n\ + adds r0, r2, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x1\n\ + beq _080EEB14\n\ + cmp r0, 0x1\n\ + bgt _080EEB00\n\ + cmp r0, 0\n\ + beq _080EEB06\n\ + b _080EEB28\n\ + .align 2, 0\n\ _080EEAF8: .4byte 0x00006e15\n\ _080EEAFC: .4byte 0x00006e14\n\ _080EEB00:\n\ - cmp r0, 0x2\n\ - beq _080EEB20\n\ - b _080EEB28\n\ + cmp r0, 0x2\n\ + beq _080EEB20\n\ + b _080EEB28\n\ _080EEB06:\n\ - ldr r4, _080EEB10 @ =0x00006dae\n\ - adds r1, r2, r4\n\ - movs r0, 0x5\n\ - b _080EEB26\n\ - .align 2, 0\n\ + ldr r4, _080EEB10 @ =0x00006dae\n\ + adds r1, r2, r4\n\ + movs r0, 0x5\n\ + b _080EEB26\n\ + .align 2, 0\n\ _080EEB10: .4byte 0x00006dae\n\ _080EEB14:\n\ - ldr r0, _080EEB1C @ =0x00006dae\n\ - adds r1, r2, r0\n\ - movs r0, 0x3\n\ - b _080EEB26\n\ - .align 2, 0\n\ + ldr r0, _080EEB1C @ =0x00006dae\n\ + adds r1, r2, r0\n\ + movs r0, 0x3\n\ + b _080EEB26\n\ + .align 2, 0\n\ _080EEB1C: .4byte 0x00006dae\n\ _080EEB20:\n\ - ldr r2, _080EEB58 @ =0x00006dae\n\ - adds r1, r3, r2\n\ - movs r0, 0x6\n\ + ldr r2, _080EEB58 @ =0x00006dae\n\ + adds r1, r3, r2\n\ + movs r0, 0x6\n\ _080EEB26:\n\ - strb r0, [r1]\n\ + strb r0, [r1]\n\ _080EEB28:\n\ - ldr r4, _080EEB5C @ =gSharedMem\n\ - ldr r1, _080EEB60 @ =0x00006e14\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F1B8C\n\ - ldr r2, _080EEB64 @ =0x00006e16\n\ - adds r4, r2\n\ - ldrb r0, [r4]\n\ - adds r0, 0x1\n\ - strb r0, [r4]\n\ + ldr r4, _080EEB5C @ =gSharedMem\n\ + ldr r1, _080EEB60 @ =0x00006e14\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F1B8C\n\ + ldr r2, _080EEB64 @ =0x00006e16\n\ + adds r4, r2\n\ + ldrb r0, [r4]\n\ + adds r0, 0x1\n\ + strb r0, [r4]\n\ _080EEB3E:\n\ - ldr r4, _080EEB5C @ =gSharedMem\n\ - ldr r1, _080EEB60 @ =0x00006e14\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F1BC8\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080EEC08\n\ - ldr r2, _080EEB64 @ =0x00006e16\n\ - adds r1, r4, r2\n\ - b _080EEB76\n\ - .align 2, 0\n\ + ldr r4, _080EEB5C @ =gSharedMem\n\ + ldr r1, _080EEB60 @ =0x00006e14\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F1BC8\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _080EEC08\n\ + ldr r2, _080EEB64 @ =0x00006e16\n\ + adds r1, r4, r2\n\ + b _080EEB76\n\ + .align 2, 0\n\ _080EEB58: .4byte 0x00006dae\n\ _080EEB5C: .4byte gSharedMem\n\ _080EEB60: .4byte 0x00006e14\n\ _080EEB64: .4byte 0x00006e16\n\ _080EEB68:\n\ - bl sub_8055870\n\ - cmp r0, 0\n\ - bne _080EEC08\n\ - ldr r1, _080EEB80 @ =gSharedMem\n\ - ldr r4, _080EEB84 @ =0x00006e16\n\ - adds r1, r4\n\ + bl sub_8055870\n\ + cmp r0, 0\n\ + bne _080EEC08\n\ + ldr r1, _080EEB80 @ =gSharedMem\n\ + ldr r4, _080EEB84 @ =0x00006e16\n\ + adds r1, r4\n\ _080EEB76:\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ - b _080EEC08\n\ - .align 2, 0\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ + b _080EEC08\n\ + .align 2, 0\n\ _080EEB80: .4byte gSharedMem\n\ _080EEB84: .4byte 0x00006e16\n\ _080EEB88:\n\ - bl sub_80F1DF0\n\ - ldr r4, _080EEBA0 @ =gSharedMem\n\ - ldr r1, _080EEBA4 @ =0x00006e14\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80EF490\n\ - ldr r2, _080EEBA8 @ =0x00006e16\n\ - adds r4, r2\n\ - b _080EEBCC\n\ - .align 2, 0\n\ + bl sub_80F1DF0\n\ + ldr r4, _080EEBA0 @ =gSharedMem\n\ + ldr r1, _080EEBA4 @ =0x00006e14\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80EF490\n\ + ldr r2, _080EEBA8 @ =0x00006e16\n\ + adds r4, r2\n\ + b _080EEBCC\n\ + .align 2, 0\n\ _080EEBA0: .4byte gSharedMem\n\ _080EEBA4: .4byte 0x00006e14\n\ _080EEBA8: .4byte 0x00006e16\n\ _080EEBAC:\n\ - bl sub_80F1E50\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080EEC08\n\ - ldr r4, _080EEBD4 @ =gSharedMem\n\ - ldr r1, _080EEBD8 @ =0x00006e14\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - ldr r2, _080EEBDC @ =0x00006dad\n\ - adds r1, r4, r2\n\ - ldrb r1, [r1]\n\ - bl sub_80EF428\n\ - ldr r0, _080EEBE0 @ =0x00006e16\n\ - adds r4, r0\n\ + bl sub_80F1E50\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _080EEC08\n\ + ldr r4, _080EEBD4 @ =gSharedMem\n\ + ldr r1, _080EEBD8 @ =0x00006e14\n\ + adds r0, r4, r1\n\ + ldrb r0, [r0]\n\ + ldr r2, _080EEBDC @ =0x00006dad\n\ + adds r1, r4, r2\n\ + ldrb r1, [r1]\n\ + bl sub_80EF428\n\ + ldr r0, _080EEBE0 @ =0x00006e16\n\ + adds r4, r0\n\ _080EEBCC:\n\ - ldrb r0, [r4]\n\ - adds r0, 0x1\n\ - strb r0, [r4]\n\ - b _080EEC08\n\ - .align 2, 0\n\ + ldrb r0, [r4]\n\ + adds r0, 0x1\n\ + strb r0, [r4]\n\ + b _080EEC08\n\ + .align 2, 0\n\ _080EEBD4: .4byte gSharedMem\n\ _080EEBD8: .4byte 0x00006e14\n\ _080EEBDC: .4byte 0x00006dad\n\ _080EEBE0: .4byte 0x00006e16\n\ _080EEBE4:\n\ - bl sub_80EF4F8\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080EEC08\n\ - ldr r1, _080EEC00 @ =gSharedMem\n\ - ldr r2, _080EEC04 @ =0x00006e16\n\ - adds r1, r2\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ + bl sub_80EF4F8\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _080EEC08\n\ + ldr r1, _080EEC00 @ =gSharedMem\n\ + ldr r2, _080EEC04 @ =0x00006e16\n\ + adds r1, r2\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ _080EEBFA:\n\ - movs r0, 0\n\ - b _080EEC0A\n\ - .align 2, 0\n\ + movs r0, 0\n\ + b _080EEC0A\n\ + .align 2, 0\n\ _080EEC00: .4byte gSharedMem\n\ _080EEC04: .4byte 0x00006e16\n\ _080EEC08:\n\ - movs r0, 0x1\n\ + movs r0, 0x1\n\ _080EEC0A:\n\ - pop {r4}\n\ - pop {r1}\n\ - bx r1\n" + pop {r4}\n\ + pop {r1}\n\ + bx r1\n" - ); + ); } #endif // var6dad and var6dae must be s8 in this func -bool8 sub_80EEC10() { - if (gMain.newKeys & 0x40) { - do { - if (--ewram0_11.var6dad < 0) { - ewram0_11.var6dad = ewram0_11.var6dae - 1; - } - - } while (!ewram0_10.var6db2[ewram0_11.var6dad]); - return 1; - } - if (gMain.newKeys & 0x80) { - do { - if (++ewram0_11.var6dad >= ewram0_11.var6dae) { - ewram0_11.var6dad = 0; - } - } while (!ewram0_10.var6db2[ewram0_11.var6dad]); - return 1; - } - return 0; +bool8 sub_80EEC10() +{ + if (gMain.newKeys & 0x40) + { + do + { + if (--ewram0_11.var6dad < 0) + ewram0_11.var6dad = ewram0_11.var6dae - 1; + } while (!ewram0_10.var6db2[ewram0_11.var6dad]); + return TRUE; + } + if (gMain.newKeys & 0x80) + { + do + { + if (++ewram0_11.var6dad >= ewram0_11.var6dae) + ewram0_11.var6dad = 0; + } while (!ewram0_10.var6db2[ewram0_11.var6dad]); + return TRUE; + } + return FALSE; } -bool8 sub_80EEC90() { - if (gMain.newKeys & 0x40) { - if (--ewram0_11.var6dad < 0) { - ewram0_11.var6dad = ewram0_11.var6dae - 1; - } - return 1; - } - if (gMain.newKeys & 0x80) { - if (++ewram0_11.var6dad >= ewram0_11.var6dae) { - ewram0_11.var6dad = 0; - } - return 1; - } - return 0; +bool8 sub_80EEC90() +{ + if (gMain.newKeys & 0x40) + { + if (--ewram0_11.var6dad < 0) + ewram0_11.var6dad = ewram0_11.var6dae - 1; + return TRUE; + } + if (gMain.newKeys & 0x80) + { + if (++ewram0_11.var6dad >= ewram0_11.var6dae) + ewram0_11.var6dad = 0; + return TRUE; + } + return FALSE; } -void sub_80EED0C() { - REG_DISPCNT = 512; +void sub_80EED0C() +{ + REG_DISPCNT = 512; } -void sub_80EED1C() { - REG_DISPCNT = 0x92 << 5; +void sub_80EED1C() +{ + REG_DISPCNT = 0x92 << 5; } -void sub_80EED2C(u8 param1) { - switch (param1) { - case 0: - REG_DISPCNT = 0xFA << 5; - break; - case 1: - REG_DISPCNT = 0x1741; - break; - case 3: - case 4: - REG_DISPCNT = 0xFA << 5; - break; - case 2: - REG_DISPCNT = 0x7b40; - break; - case 5: - REG_DISPCNT = 0xFD << 6; - break; - } +void sub_80EED2C(u8 param1) +{ + switch (param1) { + case 0: + REG_DISPCNT = 0xFA << 5; + break; + case 1: + REG_DISPCNT = 0x1741; + break; + case 3: + case 4: + REG_DISPCNT = 0xFA << 5; + break; + case 2: + REG_DISPCNT = 0x7b40; + break; + case 5: + REG_DISPCNT = 0xFD << 6; + break; + } } -void sub_80EED9C(void) { - gUnknown_03000744 = ewram0_10.var300; - ewram0_10.var300 = &sub_80EEDC4; - ewram0_10.var300(); +void sub_80EED9C(void) +{ + gUnknown_03000744 = ewram0_10.var300; + ewram0_10.var300 = &sub_80EEDC4; + ewram0_10.var300(); } -void sub_80EEDC4(void) { - if (sub_8055870() != 0x1) { - ewram0_10.var300 = gUnknown_03000744; - } +void sub_80EEDC4(void) +{ + if (sub_8055870() != 0x1) + ewram0_10.var300 = gUnknown_03000744; } -void sub_80EEDE8(void) { - REG_BG0HOFS = 0; - REG_BG0VOFS = 0; - REG_BG2VOFS = 0; - REG_BG2HOFS = 0; - REG_BG3HOFS = 0; - REG_BG3VOFS = 0; +void sub_80EEDE8(void) +{ + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; } -void sub_80EEE08(void) { - gUnknown_083DFEC4->unkD160 = 0; +void sub_80EEE08(void) +{ + gUnknown_083DFEC4->unkD160 = 0; } -void sub_80EEE20(void) { - gUnknown_083DFEC4->unkD160 = 0; - if (!gUnknown_083DFEC4->unk6DAC) { - while (sub_80EEE54()); - } +void sub_80EEE20(void) +{ + gUnknown_083DFEC4->unkD160 = 0; + if (!gUnknown_083DFEC4->unk6DAC) + { + while (sub_80EEE54()) + ; + } } -bool8 sub_80EEE54(void) { - switch (gUnknown_083DFEC4->unkD160) { - case 0: - LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000); - break; - case 1: - LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800); - break; - case 2: - LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20); - break; - case 3: - sub_80EF58C(0); - sub_80EF58C(1); - sub_80EF58C(2); - break; - case 4: - gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0; - REG_BG1HOFS = 0; - REG_BG1VOFS = 0; - REG_BG1CNT = 0x1B0C; - gUnknown_083DFEC4->unkD160++; - default: - return 0; - } - gUnknown_083DFEC4->unkD160++; - return 1; +bool8 sub_80EEE54(void) +{ + switch (gUnknown_083DFEC4->unkD160) + { + case 0: + LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000); + break; + case 1: + LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800); + break; + case 2: + LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20); + break; + case 3: + sub_80EF58C(0); + sub_80EF58C(1); + sub_80EF58C(2); + break; + case 4: + gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG1CNT = 0x1B0C; + gUnknown_083DFEC4->unkD160++; + default: + return FALSE; + } + gUnknown_083DFEC4->unkD160++; + return TRUE; } -bool8 sub_80EEF34(void) { - bool8 retVal = TRUE; +bool8 sub_80EEF34(void) +{ + bool8 retVal = TRUE; - if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32) - { - return FALSE; - } + if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32) + return FALSE; - gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2; - if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31) - { - gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32; - retVal = FALSE; - } + gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2; + if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31) + { + gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32; + retVal = FALSE; + } - REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0; - return retVal; + REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0; + return retVal; } bool8 sub_80EEF78(void) { - bool8 retVal = TRUE; - - if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0) - { - return FALSE; - } - - gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2; - if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0) - { - gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0; - retVal = FALSE; - } - - REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0; - return retVal; + bool8 retVal = TRUE; + + if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0) + return FALSE; + + gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2; + if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0) + { + gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0; + retVal = FALSE; + } + + REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0; + return retVal; } void sub_80EEFBC(u8 a) { - u8 var1; + u8 var1; - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2); + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2); - switch (a) - { - case 0: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 11: - sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 2: - var1 = gUnknown_083DFEC4->unk6DAC; - if (!var1) - { - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2); - } - else - { - sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); - } - break; - case 3: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 4: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 7: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 8: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 5: - case 9: - sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2); - sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - case 10: - sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); - break; - } + switch (a) + { + case 0: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 11: + sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 2: + var1 = gUnknown_083DFEC4->unk6DAC; + if (!var1) + { + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2); + } + else + { + sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); + } + break; + case 3: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 4: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 7: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 8: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 5: + case 9: + sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2); + sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + case 10: + sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2); + break; + } } void sub_80EF248(u8 a) { - gUnknown_083DFEC4->unkD160 = 0; + gUnknown_083DFEC4->unkD160 = 0; - if (!gUnknown_083DFEC4->unk6DAC) - { - while (sub_80EF284(a)); - } + if (!gUnknown_083DFEC4->unk6DAC) + { + while (sub_80EF284(a)) + ; + } } bool8 sub_80EF284(u8 a) { - switch (gUnknown_083DFEC4->unkD160) - { - case 0: - sub_80EEDE8(); - break; - case 1: - SetUpWindowConfig(&gWindowConfig_81E7224); - break; - case 2: - MultistepInitMenuWindowBegin(&gWindowConfig_81E7224); - break; - case 3: - if (!MultistepInitMenuWindowContinue()) - { - return TRUE; - } - break; - case 4: - DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0); - break; - case 5: - LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800); - break; - case 6: - DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20); - break; - case 7: - LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000); - break; - case 8: - LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800); - break; - case 9: - LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020); - break; - case 10: - sub_80EF54C(a); - LoadPalette(gUnknown_083DFECC, 0xF0, 0x20); - LoadPalette(gPokenavOutlinePalette, 0x40, 0x20); - sub_80EF7D4(); - break; - case 11: - REG_BG0CNT = 0x1F01; - REG_BG2CNT = 0x1D0A; - REG_BG3CNT = 0x1C0B; - REG_BLDCNT = 0; - - gUnknown_083DFEC4->unkD160++; - return FALSE; - default: - return FALSE; - } - - gUnknown_083DFEC4->unkD160++; - return TRUE; + switch (gUnknown_083DFEC4->unkD160) + { + case 0: + sub_80EEDE8(); + break; + case 1: + SetUpWindowConfig(&gWindowConfig_81E7224); + break; + case 2: + MultistepInitMenuWindowBegin(&gWindowConfig_81E7224); + break; + case 3: + if (!MultistepInitMenuWindowContinue()) + return TRUE; + break; + case 4: + DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0); + break; + case 5: + LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800); + break; + case 6: + DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20); + break; + case 7: + LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000); + break; + case 8: + LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800); + break; + case 9: + LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020); + break; + case 10: + sub_80EF54C(a); + LoadPalette(gUnknown_083DFECC, 0xF0, 0x20); + LoadPalette(gPokenavOutlinePalette, 0x40, 0x20); + sub_80EF7D4(); + break; + case 11: + REG_BG0CNT = 0x1F01; + REG_BG2CNT = 0x1D0A; + REG_BG3CNT = 0x1C0B; + REG_BLDCNT = 0; + + gUnknown_083DFEC4->unkD160++; + return FALSE; + default: + return FALSE; + } + + gUnknown_083DFEC4->unkD160++; + return TRUE; } void sub_80EF428(u8 a, u8 b) { - u8 *tileBuffer; - const u8 *pcText = 0; + u8 *tileBuffer; + const u8 *pcText = 0; - switch (a) - { - case 0: - pcText = gUnknown_083E31B0[b]; - break; - case 1: - pcText = gUnknown_083E31CC[b]; - break; - case 2: - pcText = gUnknown_083E31D8[b]; - break; - } + switch (a) + { + case 0: + pcText = gUnknown_083E31B0[b]; + break; + case 1: + pcText = gUnknown_083E31CC[b]; + break; + case 2: + pcText = gUnknown_083E31D8[b]; + break; + } - tileBuffer = gUnknown_083DFEC8; - sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2); - MenuPrint(&tileBuffer[0x800], 3, 17); + tileBuffer = gUnknown_083DFEC8; + sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2); + MenuPrint(&tileBuffer[0x800], 3, 17); } void sub_80EF490(u8 a) { - u16 var1, var2; - - if (a == 2) - { - a = 1; - } - - gUnknown_083DFEC4->unkCE4E = a * 30; - var1 = gUnknown_083DFEC4->unkCE4C; - var2 = a * 30; - if (var1 < var2) - { - gUnknown_083DFEC4->unkCE50 = 2; - } - else if (var1 > var2) - { - gUnknown_083DFEC4->unkCE50 = -2; - } - else - { - gUnknown_083DFEC4->unkCE50 = 0; - } + u16 var1, var2; + + if (a == 2) + a = 1; + + gUnknown_083DFEC4->unkCE4E = a * 30; + var1 = gUnknown_083DFEC4->unkCE4C; + var2 = a * 30; + if (var1 < var2) + gUnknown_083DFEC4->unkCE50 = 2; + else if (var1 > var2) + gUnknown_083DFEC4->unkCE50 = -2; + else + gUnknown_083DFEC4->unkCE50 = 0; } bool8 sub_80EF4F8(void) { - u16 *palettes; + u16 *palettes; - if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E) - { - return FALSE; - } - else - { - gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C; + if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E) + { + return FALSE; + } + else + { + gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C; - palettes = gUnknown_083DFEC4->palettesCE52; - LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4); - return TRUE; - } + palettes = gUnknown_083DFEC4->palettesCE52; + LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4); + return TRUE; + } } void sub_80EF54C(u8 a) { - if (a == 2) - { - a = 1; - } + if (a == 2) + a = 1; - gUnknown_083DFEC4->unkCE4C = a * 30; - LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4); + gUnknown_083DFEC4->unkCE4C = a * 30; + LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4); } void sub_80EF58C(u8 a) { - u16 i; - u16 * palettes; - const u16 *var1; - - switch (a) - { - case 0: - for (i = 0; i < 62; i++) - { - gUnknown_083DFEC4->palettesCE52[i] = 0; - } - break; - case 1: - palettes = gUnknown_083DFEC4->palettesCE52; - var1 = gUnknown_083E003C; - sub_80EF624(&var1[1], &var1[3], 16, 2, palettes); - break; - case 2: - palettes = gUnknown_083DFEC4->palettesCE8E; - var1 = gUnknown_083E003C; - sub_80EF624(&var1[3], &var1[7], 16, 2, palettes); - break; - } + u16 i; + u16 * palettes; + const u16 *var1; + + switch (a) + { + case 0: + for (i = 0; i < 62; i++) + gUnknown_083DFEC4->palettesCE52[i] = 0; + break; + case 1: + palettes = gUnknown_083DFEC4->palettesCE52; + var1 = gUnknown_083E003C; + sub_80EF624(&var1[1], &var1[3], 16, 2, palettes); + break; + case 2: + palettes = gUnknown_083DFEC4->palettesCE8E; + var1 = gUnknown_083E003C; + sub_80EF624(&var1[3], &var1[7], 16, 2, palettes); + break; + } } #ifdef NONMATCHING void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes) { - u16 red1, green1, blue1; - u16 red2, green2, blue2; - s32 redDiv, greenDiv, blueDiv; - u16 *palettes2; - u16 i, j; - - i = 0; - while (i < d) - { - red1 = (*a & 0x1F) << 8; - green1 = ((*a >> 5) & 0x1F) << 8; - blue1 = ((*a >> 10) & 0x1F) << 8; - - red2 = (*b & 0x1F) << 8; - green2 = ((*b >> 5) & 0x1F) << 8; - blue2 = ((*b >> 10) & 0x1F) << 8; - - redDiv = (red2 - red1) / c; - greenDiv = (green2 - green1) / c; - blueDiv = (blue2 - blue1) / c; - - palettes2 = palettes; - for (j = 0; j < c - 1; j++) - { - *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16); - palettes2 += d; - red1 += redDiv; - green1 += greenDiv; - blue1 += blueDiv; - } + u16 red1, green1, blue1; + u16 red2, green2, blue2; + s32 redDiv, greenDiv, blueDiv; + u16 *palettes2; + u16 i, j; + + i = 0; + while (i < d) + { + red1 = (*a & 0x1F) << 8; + green1 = ((*a >> 5) & 0x1F) << 8; + blue1 = ((*a >> 10) & 0x1F) << 8; + + red2 = (*b & 0x1F) << 8; + green2 = ((*b >> 5) & 0x1F) << 8; + blue2 = ((*b >> 10) & 0x1F) << 8; + + redDiv = (red2 - red1) / c; + greenDiv = (green2 - green1) / c; + blueDiv = (blue2 - blue1) / c; + + palettes2 = palettes; + for (j = 0; j < c - 1; j++) + { + *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16); + palettes2 += d; + red1 += redDiv; + green1 += greenDiv; + blue1 += blueDiv; + } - *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3); - palettes++; + *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3); + palettes++; - a++; - b++; - i++; - } + a++; + b++; + i++; + } } #else __attribute__((naked)) @@ -3430,151 +3606,142 @@ _080EF72E:\n\ void sub_80EF740(void) { - gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1; - if (gUnknown_083DFEC4->unk6DA0) - { - gUnknown_083DFEC4->unk6DA2++; - } + gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1; + if (gUnknown_083DFEC4->unk6DA0) + gUnknown_083DFEC4->unk6DA2++; - REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2; + REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2; } void sub_80EF780(u8 taskId) { - if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0) - { - sub_80EF740(); - } - else - { - u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7; - gUnknown_083DFEC4->unk6DA2 = value; - gUnknown_083DFEC4->unk6DA0 = value; - REG_BG3HOFS = value; - } + if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0) + { + sub_80EF740(); + } + else + { + u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7; + gUnknown_083DFEC4->unk6DA2 = value; + gUnknown_083DFEC4->unk6DA0 = value; + REG_BG3HOFS = value; + } } void sub_80EF7D4(void) { - gUnknown_083DFEC4->unk6DA2 = 0; - gUnknown_083DFEC4->unk6DA0 = 0; - gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80); + gUnknown_083DFEC4->unk6DA2 = 0; + gUnknown_083DFEC4->unk6DA0 = 0; + gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80); } void sub_80EF814(void) { - if (FuncIsActiveTask(sub_80EF780)) - { - DestroyTask(gUnknown_083DFEC4->taskId6DA4); - } + if (FuncIsActiveTask(sub_80EF780)) + DestroyTask(gUnknown_083DFEC4->taskId6DA4); } void sub_80EF840(void) { - gUnknown_083DFEC4->unkD160 = 0; + gUnknown_083DFEC4->unkD160 = 0; - if (gUnknown_083DFEC4->unk6DAC == 0) - { - while (sub_80EF874() != 0); - } + if (gUnknown_083DFEC4->unk6DAC == 0) + { + while (sub_80EF874() != 0) + ; + } } bool8 sub_80EF874(void) { - switch (gUnknown_083DFEC4->unkD160) - { - case 0: - sub_80EEDE8(); - break; - case 1: - SetUpWindowConfig(&gWindowConfig_81E7224); - break; - case 2: - MultistepInitMenuWindowBegin(&gWindowConfig_81E7224); - break; - case 3: - if (!MultistepInitMenuWindowContinue()) - { - return TRUE; - } - break; - case 4: - MenuZeroFillScreen(); - break; - case 5: - sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE); - break; - case 6: - if (sub_80FA940()) - { - return TRUE; - } - break; - case 7: - LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000); - break; - case 8: - LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20); - sub_80EFC3C(); - break; - case 9: - if (sub_80EFC64()) - { - return TRUE; - } - break; - case 10: - MenuDrawTextWindow(13, 3, 29, 17); - sub_80EF9F8(); - break; - case 11: - if (!gUnknown_083DFEC4->regionMap.zoomed) - { - gUnknown_083DFEC4->unk7698 = 160; - REG_BG0VOFS = 160; - } - else - { - gUnknown_083DFEC4->unk7698 = 256; - REG_BG0VOFS = 0; - } + switch (gUnknown_083DFEC4->unkD160) + { + case 0: + sub_80EEDE8(); + break; + case 1: + SetUpWindowConfig(&gWindowConfig_81E7224); + break; + case 2: + MultistepInitMenuWindowBegin(&gWindowConfig_81E7224); + break; + case 3: + if (!MultistepInitMenuWindowContinue()) + return TRUE; + break; + case 4: + MenuZeroFillScreen(); + break; + case 5: + sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom ? TRUE : FALSE); + break; + case 6: + if (sub_80FA940()) + return TRUE; + break; + case 7: + LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000); + break; + case 8: + LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20); + sub_80EFC3C(); + break; + case 9: + if (sub_80EFC64()) + return TRUE; + break; + case 10: + MenuDrawTextWindow(13, 3, 29, 17); + sub_80EF9F8(); + break; + case 11: + if (!gUnknown_083DFEC4->regionMap.zoomed) + { + gUnknown_083DFEC4->unk7698 = 160; + REG_BG0VOFS = 160; + } + else + { + gUnknown_083DFEC4->unk7698 = 256; + REG_BG0VOFS = 0; + } - REG_BG0CNT = REG_BG0CNT; - REG_BG0CNT |= 1; - REG_BLDCNT = 0; - break; - default: - return FALSE; - } + REG_BG0CNT = REG_BG0CNT; + REG_BG0CNT |= 1; + REG_BLDCNT = 0; + break; + default: + return FALSE; + } - gUnknown_083DFEC4->unkD160++; - return TRUE; + gUnknown_083DFEC4->unkD160++; + return TRUE; } asm(".include \"constants/gba_constants.inc\"\n"); void sub_80EF9F8(void) { - bool8 someBool = FALSE; + bool8 someBool = FALSE; u16 top = 4; - u16 mapSectionId; - u8 b; + u16 mapSectionId; + u8 b; - switch (gUnknown_083DFEC4->regionMap.unk16) - { + switch (gUnknown_083DFEC4->regionMap.unk16) + { case 0: break; - case 1: - case 4: - sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); - top += 2; - if (gLinkOpen == TRUE) - { - sub_80F1A80(); + case 1: + case 4: + sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); + top += 2; + if (gLinkOpen == TRUE) + { + sub_80F1A80(); someBool = TRUE; - } - else - { + } + else + { u16 i; for (i = 0; i < 4; i++) @@ -3589,99 +3756,95 @@ void sub_80EF9F8(void) sub_8072A18(secName, 0x70, top * 8, 0x78, 1); top += 2; } - } - break; - case 2: - sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); - top += 2; - mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId; + } + break; + case 2: + sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); + top += 2; + mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId; b = gUnknown_083DFEC4->regionMap.everGrandeCityArea; if (gUnknown_083DFEC4->unkCDCC[mapSectionId][b] != NULL) - { - MenuFillWindowRectWithBlankTile(14, top, 15, 15); - MenuFillWindowRectWithBlankTile(26, top, 28, 15); - sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10); - top += 11; - } - break; - case 3: - sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); - top += 2; - break; - } + { + MenuFillWindowRectWithBlankTile(14, top, 15, 15); + MenuFillWindowRectWithBlankTile(26, top, 28, 15); + sub_8095C8C((void *)(VRAM + 0xF800), 16, 6, gUnknown_083DFEC4->unkCDCC[mapSectionId][b], 0, 0, 10, 10, 10); + top += 11; + } + break; + case 3: + sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, top * 8, 0x78, 1); + top += 2; + break; + } // Epic fail by the compiler at optimizing this. if (!someBool && top < 16) MenuFillWindowRectWithBlankTile(14, top, 28, 15); - if (gUnknown_083DFEC4->regionMap.unk16 == 2) - sub_80EFD74(); - else - sub_80EFDA0(); + if (gUnknown_083DFEC4->regionMap.unk16 == 2) + sub_80EFD74(); + else + sub_80EFDA0(); } void sub_80EFBB0(void) { - if (!gUnknown_083DFEC4->regionMap.zoomed) - { - sub_80EEFBC(8); - } - else - { - sub_80EEFBC(7); - } + if (!gUnknown_083DFEC4->regionMap.zoomed) + sub_80EEFBC(8); + else + sub_80EEFBC(7); } bool8 sub_80EFBDC(bool8 a) { - bool8 retVal = TRUE; - u16 var1 = gUnknown_083DFEC4->unk7698; + bool8 retVal = TRUE; + u16 var1 = gUnknown_083DFEC4->unk7698; - if (a) - { - if (var1 > 168) - { - var1 = var1 - 8; - } - else - { - var1 = 160; - retVal = FALSE; - } - } - else - { - if (var1 < 248) - { - var1 = var1 + 8; - } - else - { - var1 = 256; - retVal = FALSE; - } - } + if (a) + { + if (var1 > 168) + { + var1 = var1 - 8; + } + else + { + var1 = 160; + retVal = FALSE; + } + } + else + { + if (var1 < 248) + { + var1 = var1 + 8; + } + else + { + var1 = 256; + retVal = FALSE; + } + } - gUnknown_083DFEC4->unk7698 = var1; - REG_BG0VOFS = var1 & 0xFF; + gUnknown_083DFEC4->unk7698 = var1; + REG_BG0VOFS = var1 & 0xFF; - return retVal; + return retVal; } void sub_80EFC3C(void) { - gUnknown_083DFEC4->unkBC9A = 0; - gUnknown_083DFEC4->unkBC9B = 0; - sub_80EFD3C(); + gUnknown_083DFEC4->unkBC9A = 0; + gUnknown_083DFEC4->unkBC9B = 0; + sub_80EFD3C(); } bool8 sub_80EFC64(void) { - u16 i; - u8 var1; - u16 var2; + u16 i; + u8 var1; + u16 var2; - if (gUnknown_083DFEC4->unkBC9A >= 16) + if (gUnknown_083DFEC4->unkBC9A >= 16) return FALSE; var1 = gUnknown_083DFEC4->unkBC9A; @@ -3709,345 +3872,330 @@ bool8 sub_80EFC64(void) void sub_80EFD3C(void) { - gUnknown_083DFEC4->unk769E = 0; - gUnknown_083DFEC4->unk769C = 47; - gUnknown_083DFEC4->unk769D = 0; - gUnknown_083DFEC4->unk769A = 0; + gUnknown_083DFEC4->unk769E = 0; + gUnknown_083DFEC4->unk769C = 47; + gUnknown_083DFEC4->unk769D = 0; + gUnknown_083DFEC4->unk769A = 0; } void sub_80EFD74(void) { - gUnknown_083DFEC4->unk769E = 1; - - if (gUnknown_083DFEC4->unk769D == 1) - { - gUnknown_083DFEC4->unk769D = 2; - } + gUnknown_083DFEC4->unk769E = 1; + if (gUnknown_083DFEC4->unk769D == 1) + gUnknown_083DFEC4->unk769D = 2; } void sub_80EFDA0(void) { - sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15); - gUnknown_083DFEC4->unk769E = 0; + sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15); + gUnknown_083DFEC4->unk769E = 0; } void sub_80EFDE4(u8 param0) { - u16 var1 = 60 - gUnknown_083DFEC4->unk769C; + u16 var1 = 60 - gUnknown_083DFEC4->unk769C; - if (var1 > 15) - { - var1 = 15; - } + if (var1 > 15) + var1 = 15; - if (gUnknown_083DFEC4->unk769E != 0) - { - sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60); + if (gUnknown_083DFEC4->unk769E != 0) + { + sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60); - if (var1 < 15) - { - u16 var2 = var1 + 14; + if (var1 < 15) + { + u16 var2 = var1 + 14; - sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60); - } - } + sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60); + } + } } void sub_80EFE7C(void) { - u16 var1; - u8 var2 = gUnknown_083DFEC4->unk769D; + u16 var1; + u8 var2 = gUnknown_083DFEC4->unk769D; - switch (var2) - { - case 0: - var1 = ++gUnknown_083DFEC4->unk769C; + switch (var2) + { + case 0: + var1 = ++gUnknown_083DFEC4->unk769C; - if (var1 > 59) - { - gUnknown_083DFEC4->unk769C = var2; - } + if (var1 > 59) + gUnknown_083DFEC4->unk769C = var2; - sub_80EFDE4(gUnknown_083DFEC4->unk769E); + sub_80EFDE4(gUnknown_083DFEC4->unk769E); - switch (gUnknown_083DFEC4->unk769C) - { - case 0: - case 15: - case 30: - case 45: - gUnknown_083DFEC4->unk769D = 1; - gUnknown_083DFEC4->unk769A = 0; - break; - } - break; - case 1: - var1 = ++gUnknown_083DFEC4->unk769A; - if (var1 > 120) - { - gUnknown_083DFEC4->unk769A = 0; - gUnknown_083DFEC4->unk769D = 0; - } - break; - case 2: - sub_80EFDE4(1); - gUnknown_083DFEC4->unk769D = 1; - break; - } + switch (gUnknown_083DFEC4->unk769C) + { + case 0: + case 15: + case 30: + case 45: + gUnknown_083DFEC4->unk769D = 1; + gUnknown_083DFEC4->unk769A = 0; + break; + } + break; + case 1: + var1 = ++gUnknown_083DFEC4->unk769A; + if (var1 > 120) + { + gUnknown_083DFEC4->unk769A = 0; + gUnknown_083DFEC4->unk769D = 0; + } + break; + case 2: + sub_80EFDE4(1); + gUnknown_083DFEC4->unk769D = 1; + break; + } } void sub_80EFF34(void) { - gUnknown_083DFEC4->unkD160 = 0; + gUnknown_083DFEC4->unkD160 = 0; - if (gUnknown_083DFEC4->unk6DAC == 0) - { - while (sub_80EFF68()); - } + if (gUnknown_083DFEC4->unk6DAC == 0) + { + while (sub_80EFF68()) + ; + } } bool8 sub_80EFF68(void) { - switch (gUnknown_083DFEC4->unkD160) - { - case 0: - sub_80EEDE8(); - gUnknown_083DFEC4->unkD162[0] = 11; - break; - case 1: - SetUpWindowConfig(&gWindowConfig_81E7080); - break; - case 2: - MultistepInitMenuWindowBegin(&gWindowConfig_81E7080); - break; - case 3: - if (!MultistepInitMenuWindowContinue()) - { - return TRUE; - } - break; - case 4: - MenuZeroFillScreen(); - break; - case 5: - sub_80F1614(); - break; - case 6: - if (sub_80F162C(0)) - { - return TRUE; - } - break; - case 7: - LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000); - break; - case 8: - LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000); - LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20); - break; - case 9: - if (gUnknown_083DFEC4->unk76AA == 1) - { - sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9); - } - break; - case 10: - LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800); - break; - case 11: - LoadPalette(gUnknown_083E0254, 0x30, 0x20); - LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); - LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2); - LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2); - LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2); - sub_80F01A4(); - break; - case 12: - sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9); - break; - case 13: - REG_BG3CNT = 0x1E03; - REG_BG2CNT = 0x1702; - REG_BLDCNT = 0x844; - REG_BLDALPHA = 0x40B; - break; - default: - return FALSE; - } + switch (gUnknown_083DFEC4->unkD160) + { + case 0: + sub_80EEDE8(); + gUnknown_083DFEC4->unkD162[0] = 11; + break; + case 1: + SetUpWindowConfig(&gWindowConfig_81E7080); + break; + case 2: + MultistepInitMenuWindowBegin(&gWindowConfig_81E7080); + break; + case 3: + if (!MultistepInitMenuWindowContinue()) + return TRUE; + break; + case 4: + MenuZeroFillScreen(); + break; + case 5: + sub_80F1614(); + break; + case 6: + if (sub_80F162C(0)) + return TRUE; + break; + case 7: + LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000); + break; + case 8: + LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000); + LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20); + break; + case 9: + if (gUnknown_083DFEC4->unk76AA == 1) + sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9); + break; + case 10: + LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800); + break; + case 11: + LoadPalette(gUnknown_083E0254, 0x30, 0x20); + LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); + LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2); + LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2); + LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2); + sub_80F01A4(); + break; + case 12: + sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9); + break; + case 13: + REG_BG3CNT = 0x1E03; + REG_BG2CNT = 0x1702; + REG_BLDCNT = 0x844; + REG_BLDALPHA = 0x40B; + break; + default: + return FALSE; + } - gUnknown_083DFEC4->unkD160++; - return TRUE; + gUnknown_083DFEC4->unkD160++; + return TRUE; } -void sub_80F0174(bool8 a) +void sub_80F0174(bool8 bg2on) { - if (a) - { - REG_DISPCNT |= DISPCNT_BG2_ON; - } - else - { - REG_DISPCNT &= ~DISPCNT_BG2_ON; - } + if (bg2on) + REG_DISPCNT |= DISPCNT_BG2_ON; + else + REG_DISPCNT &= ~DISPCNT_BG2_ON; } void sub_80F01A4(void) { - REG_WIN0H = WIN_RANGE(0, 240); - REG_WIN1H = WIN_RANGE(0, 155); - REG_WIN0V = WIN_RANGE(56, 121); - REG_WIN1V = WIN_RANGE(56, 121); - REG_WININ = 0x3F3F; - REG_WINOUT = 0x001B; + REG_WIN0H = WIN_RANGE(0, 240); + REG_WIN1H = WIN_RANGE(0, 155); + REG_WIN0V = WIN_RANGE(56, 121); + REG_WIN1V = WIN_RANGE(56, 121); + REG_WININ = 0x3F3F; + REG_WINOUT = 0x001B; } void sub_80F01E0(u16 a) { - MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1); - - if (gUnknown_083DFEC4->unk76AA == 1) - { - MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3); - sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2); - MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6); - } + MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1); + + if (gUnknown_083DFEC4->unk76AA == 1) + { + MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3); + sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2); + MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6); + } } void sub_80F0264(u8 a) { - gUnknown_083DFEC4->unk306 = 0; - gUnknown_083DFEC4->unk87CA = a; + gUnknown_083DFEC4->unk306 = 0; + gUnknown_083DFEC4->unk87CA = a; - if (gUnknown_083DFEC4->unk6DAC == 0) - { - while (sub_80F02A0()); - } + if (gUnknown_083DFEC4->unk6DAC == 0) + { + while (sub_80F02A0()) + ; + } } #ifdef NONMATCHING // small nonmatching part is in the third else clause in case 7. bool8 sub_80F02A0(void) { - const u16 *pointer; + const u16 *pointer; - switch (gUnknown_083DFEC4->unk306) - { - case 0: - sub_80EEDE8(); + switch (gUnknown_083DFEC4->unk306) + { + case 0: + sub_80EEDE8(); - gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1; - gUnknown_083DFEC4->unkD162[0] = 11; - break; - case 1: - SetUpWindowConfig(&gWindowConfig_81E70D4); - break; - case 2: - MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4); - break; - case 3: - if (!MultistepInitMenuWindowContinue()) - { - return TRUE; - } - break; - case 4: - MenuZeroFillScreen(); - break; - case 5: - LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800); - break; - case 6: - LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000); - break; - case 7: - LoadPalette(gUnknown_083E02B4, 0xB0, 0x20); - LoadPalette(gUnknown_083E02B4, 0xF0, 0x20); - LoadPalette(gUnknown_083E0334, 0x40, 0x20); + gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1; + gUnknown_083DFEC4->unkD162[0] = 11; + break; + case 1: + SetUpWindowConfig(&gWindowConfig_81E70D4); + break; + case 2: + MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4); + break; + case 3: + if (!MultistepInitMenuWindowContinue()) + { + return TRUE; + } + break; + case 4: + MenuZeroFillScreen(); + break; + case 5: + LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800); + break; + case 6: + LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000); + break; + case 7: + LoadPalette(gUnknown_083E02B4, 0xB0, 0x20); + LoadPalette(gUnknown_083E02B4, 0xF0, 0x20); + LoadPalette(gUnknown_083E0334, 0x40, 0x20); - if (gUnknown_083DFEC4->unk87CA == 0) - { - LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20); - gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5]; - LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); - LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); - LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); - LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2); - } - else if (gUnknown_083DFEC4->unk87CA == 1) - { - LoadPalette(gUnknown_083E0274, 0x30, 0x20); - gPlttBufferUnfaded[0] = gUnknown_083E0274[5]; - LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); - LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); - LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); - LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2); - } - else - { - LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20); - pointer = &gUnknown_08E9F9E8[5]; - gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5]; - LoadPalette(gUnknown_083E0314, 0x50, 0x20); - LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); - LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); - LoadPalette(pointer, 0xBF, 0x2); - LoadPalette(pointer, 0x5F, 0x2); - } - break; - case 8: - if (gUnknown_083DFEC4->unk87CA != 2) - { - sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9); - } - else - { - sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12); - sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12); - } - break; - case 9: - LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000); - break; - case 10: - DmaClear16(3, (void *)VRAM + 0xF800, 0x800); - break; - case 11: - sub_80F0900(); - break; - case 12: - if (sub_80F0944()) - { - return TRUE; - } - break; - case 13: - if (gUnknown_083DFEC4->unk87CA != 2) - { - ShowMapNamePopUpWindow(); - } - else - { - sub_80F081C(0); - sub_80F0FFC(gUnknown_083DFEC4->unk876E); - } - break; - case 14: - REG_BG2CNT = 0x1D0A; - REG_BG3CNT = 0x1E03; - REG_BG0CNT = 0x1F01; - REG_BG3VOFS = 0xF8; - - gUnknown_083DFEC4->unk8776 = 0xF8; - gUnknown_083DFEC4->unk8778 = 0; - - REG_BLDCNT = 0; - gUnknown_083DFEC4->unkD160++; - return FALSE; - default: - return FALSE; - } - - gUnknown_083DFEC4->unk306++; - return TRUE; + if (gUnknown_083DFEC4->unk87CA == 0) + { + LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20); + gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5]; + LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); + LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); + LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); + LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2); + } + else if (gUnknown_083DFEC4->unk87CA == 1) + { + LoadPalette(gUnknown_083E0274, 0x30, 0x20); + gPlttBufferUnfaded[0] = gUnknown_083E0274[5]; + LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20); + LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); + LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); + LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2); + } + else + { + LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20); + pointer = &gUnknown_08E9F9E8[5]; + gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5]; + LoadPalette(gUnknown_083E0314, 0x50, 0x20); + LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2); + LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2); + LoadPalette(pointer, 0xBF, 0x2); + LoadPalette(pointer, 0x5F, 0x2); + } + break; + case 8: + if (gUnknown_083DFEC4->unk87CA != 2) + { + sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9); + } + else + { + sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12); + sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12); + } + break; + case 9: + LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000); + break; + case 10: + DmaClear16(3, (void *)VRAM + 0xF800, 0x800); + break; + case 11: + sub_80F0900(); + break; + case 12: + if (sub_80F0944()) + { + return TRUE; + } + break; + case 13: + if (gUnknown_083DFEC4->unk87CA != 2) + { + ShowMapNamePopUpWindow(); + } + else + { + sub_80F081C(0); + sub_80F0FFC(gUnknown_083DFEC4->unk876E); + } + break; + case 14: + REG_BG2CNT = 0x1D0A; + REG_BG3CNT = 0x1E03; + REG_BG0CNT = 0x1F01; + REG_BG3VOFS = 0xF8; + + gUnknown_083DFEC4->unk8776 = 0xF8; + gUnknown_083DFEC4->unk8778 = 0; + + REG_BLDCNT = 0; + gUnknown_083DFEC4->unkD160++; + return FALSE; + default: + return FALSE; + } + + gUnknown_083DFEC4->unk306++; + return TRUE; } #else __attribute__((naked)) diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 9cf28a111..001cd85f6 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -1,13 +1,14 @@ #include "global.h" +#include "constants/species.h" #include "rom_8077ABC.h" #include "battle.h" #include "battle_anim.h" #include "blend_palette.h" +#include "contest.h" #include "data2.h" #include "decompress.h" #include "palette.h" #include "pokemon_icon.h" -#include "constants/species.h" #include "sprite.h" #include "task.h" #include "trig.h" @@ -31,52 +32,28 @@ #define gTransformPersonalities gTransformedPersonalities #define gBattleMonSprites gObjectBankIDs - -struct Struct_unk_2019348 { - u16 field_0; - u16 field_2; - u8 field_4; - u32 field_8; - u32 field_c; - u32 field_10; -}; - -struct TransformStatus { +struct TransformStatus +{ u16 unknown; u16 species; }; -struct Struct_gUnknown_0837F578 { +struct Struct_gUnknown_0837F578 +{ u8 field_0; u8 field_1; }; -struct Struct_2017810 { +struct Struct_2017810 +{ u8 filler_0[6]; u8 field_6; u8 filler_7[5]; }; -struct Color { - u16 r:5; - u16 g:5; - u16 b:5; -}; - -struct BGCnt { - u16 priority:2; - u16 charBase:2; - u16 unused:2; - u16 mosaic:1; - u16 colorMode:1; - u16 screenBase:5; - u16 overflow:1; - u16 size:2; -}; - -#define BG1CNT (*(volatile struct BGCnt*)REG_ADDR_BG1CNT) -#define BG2CNT (*(volatile struct BGCnt*)REG_ADDR_BG2CNT) -#define BG3CNT (*(volatile struct BGCnt*)REG_ADDR_BG3CNT) +#define BG1CNT (*(vBgCnt *)REG_ADDR_BG1CNT) +#define BG2CNT (*(vBgCnt *)REG_ADDR_BG2CNT) +#define BG3CNT (*(vBgCnt *)REG_ADDR_BG3CNT) extern struct OamData gOamData_837DF9C[]; extern const union AnimCmd *const gDummySpriteAnimTable[]; @@ -102,7 +79,8 @@ extern u8 UpdateMonIconFrame(struct Sprite *sprite); EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL; EWRAM_DATA u32 filler_0202F7D8[3] = {0}; -const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = { +const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = +{ { { 72, 80 }, { 176, 40 }, @@ -120,14 +98,16 @@ const struct Struct_gUnknown_0837F578 gUnknown_0837F578[][4] = { // One entry for each of the four Castform forms. // Coords are probably front pic coords or back pic coords, but this data does not seem to be // used during battle, party summary, or pokedex screens. -const struct MonCoords gCastformFrontSpriteCoords[] = { +const struct MonCoords gCastformFrontSpriteCoords[] = +{ { 0x44, 17 }, // NORMAL { 0x66, 9 }, // SUN { 0x46, 9 }, // RAIN { 0x86, 8 }, // HAIL }; -const u8 gCastformElevations[] = { +const u8 gCastformElevations[] = +{ 13, // NORMAL 14, // SUN 13, // RAIN @@ -135,14 +115,16 @@ const u8 gCastformElevations[] = { }; // Y position of the backsprite for each of the four Castform forms. -const u8 gCastformBackSpriteYCoords[] = { +const u8 gCastformBackSpriteYCoords[] = +{ 0, // NORMAL 0, // SUN 0, // RAIN 0, // HAIL }; -const struct SpriteTemplate gSpriteTemplate_837F5B0[] = { +const struct SpriteTemplate gSpriteTemplate_837F5B0[] = +{ { .tileTag = 55125, .paletteTag = 55125, @@ -151,7 +133,8 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = { .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, - }, { + }, + { .tileTag = 55126, .paletteTag = 55126, .oam = gOamData_837DF9C, @@ -162,23 +145,26 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = { } }; -const struct SpriteSheet gUnknown_0837F5E0[] = { +const struct SpriteSheet gUnknown_0837F5E0[] = +{ { gMiscBlank_Gfx, 0x800, 55125, }, { gMiscBlank_Gfx, 0x800, 55126, }, }; -u8 GetBankPosition(u8 slot, u8 a2) { +u8 GetBankPosition(u8 slot, u8 a2) +{ u8 var; u16 species; struct TransformStatus *transform; - if (IsContest()) { - if (a2 == 3 && slot == 3) { + if (IsContest()) + { + if (a2 == 3 && slot == 3) a2 = 1; - } } - switch (a2) { + switch (a2) + { case 0: case 2: var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0; @@ -189,339 +175,402 @@ u8 GetBankPosition(u8 slot, u8 a2) { case 3: case 4: default: - if (IsContest()) { - if (ewram19348.unk4 & 1) { - species = ewram19348.unk2; - } else { - species = ewram19348.unk0; - } - } else { - if (GetBankSide(slot)) { + if (IsContest()) + { + if (shared19348.unk4_0) + species = shared19348.unk2; + else + species = shared19348.unk0; + } + else + { + if (GetBankSide(slot)) + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); - } else { + else species = transform->species; - } - } else { + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); - } else { + else species = transform->species; - } } } - if (a2 == 3) { + if (a2 == 3) var = sub_8077E44(slot, species, 1); - } else { + else var = sub_8077E44(slot, species, 0); - } break; } return var; } -u8 sub_8077BFC(u8 slot, u16 species) { +u8 sub_8077BFC(u8 slot, u16 species) +{ u16 letter; u32 personality; struct TransformStatus *transform; u8 ret; u16 var; - if (!GetBankSide(slot) || IsContest()) { - if (species == SPECIES_UNOWN) { - if (IsContest()) { - if (ewram19348.unk4 & 1) { - personality = ewram19348.unk10; - } else { - personality = ewram19348.unk8; - } - } else { + if (GetBankSide(slot) == 0 || IsContest()) + { + if (species == SPECIES_UNOWN) + { + if (IsContest()) + { + if (shared19348.unk4_0) + personality = shared19348.unk10; + else + personality = shared19348.unk8; + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); - } else { + else personality = gTransformPersonalities[slot]; - } } letter = GET_UNOWN_LETTER(personality); - if (!letter) { + if (!letter) var = species; - } else { + else var = letter + SPECIES_UNOWN_B - 1; - } ret = gMonBackPicCoords[var].y_offset; - } else if (species == SPECIES_CASTFORM) { + } + else if (species == SPECIES_CASTFORM) + { ret = gCastformBackSpriteYCoords[gBattleMonForms[slot]]; - } else if (species > NUM_SPECIES) { + } + else if (species > NUM_SPECIES) + { ret = gMonBackPicCoords[0].y_offset; - } else { + } + else + { ret = gMonBackPicCoords[species].y_offset; } - } else { - if (species == SPECIES_UNOWN) { + } + else + { + if (species == SPECIES_UNOWN) + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); - } else { + else personality = gTransformPersonalities[slot]; - } letter = GET_UNOWN_LETTER(personality); - if (!letter) { + if (!letter) var = species; - } else { + else var = letter + SPECIES_UNOWN_B - 1; - } ret = gMonFrontPicCoords[var].y_offset; - } else if (species == SPECIES_CASTFORM) { + } + else if (species == SPECIES_CASTFORM) + { ret = gCastformFrontSpriteCoords[gBattleMonForms[slot]].y_offset; - } else if (species > NUM_SPECIES) { + } + else if (species > NUM_SPECIES) + { ret = gMonFrontPicCoords[0].y_offset; - } else { + } + else + { ret = gMonFrontPicCoords[species].y_offset; } } return ret; } -u8 sub_8077DD8(u8 slot, u16 species) { +u8 sub_8077DD8(u8 slot, u16 species) +{ u8 ret = 0; - if (GetBankSide(slot) == 1) { - if (!IsContest()) { - if (species == SPECIES_CASTFORM) { + if (GetBankSide(slot) == 1) + { + if (!IsContest()) + { + if (species == SPECIES_CASTFORM) ret = gCastformElevations[gBattleMonForms[slot]]; - } else if (species > NUM_SPECIES) { + else if (species > NUM_SPECIES) ret = gEnemyMonElevation[0]; - } else { + else ret = gEnemyMonElevation[species]; - } } } return ret; } -u8 sub_8077E44(u8 slot, u16 species, u8 a3) { +u8 sub_8077E44(u8 slot, u16 species, u8 a3) +{ u16 offset; u8 y; - if (GetBankSide(slot) == 0 || IsContest()) { + + if (GetBankSide(slot) == 0 || IsContest()) + { offset = sub_8077BFC(slot, species); - } else { + } + else + { offset = sub_8077BFC(slot, species); offset -= sub_8077DD8(slot, species); } y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; - if (a3) { - if (GetBankSide(slot) == 0) { + if (a3) + { + if (GetBankSide(slot) == 0) y += 8; - } - if (y > 104) y = 104; + if (y > 104) + y = 104; } return y; } -u8 sub_8077EE4(u8 slot, u8 a2) { +u8 sub_8077EE4(u8 slot, u8 a2) +{ u16 species; struct TransformStatus *transform; - if (a2 == 3 || a2 == 4) { - if (IsContest()) { - if (ewram19348.unk4 & 1) { - species = ewram19348.unk2; - } else { - species = ewram19348.unk0; - } - } else { + if (a2 == 3 || a2 == 4) + { + if (IsContest()) + { + if (shared19348.unk4_0) + species = shared19348.unk2; + else + species = shared19348.unk0; + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) species = gAnimSpeciesByBanks[slot]; - } else { + else species = transform->species; - } } - if (a2 == 3) { + if (a2 == 3) return sub_8077E44(slot, species, 1); - } else { + else return sub_8077E44(slot, species, 0); - } - } else { + } + else + { return GetBankPosition(slot, a2); } } -u8 sub_8077F68(u8 slot) { +u8 sub_8077F68(u8 slot) +{ return GetBankPosition(slot, 4); } -u8 sub_8077F7C(u8 slot) { +u8 sub_8077F7C(u8 slot) +{ u16 var; - if (GetBankSide(slot)) { + if (GetBankSide(slot) != 0) var = GetBankPosition(slot, 1) + 16; - } else { + else var = GetBankPosition(slot, 1) + 17; - } return var; } -u8 sub_8077FC0(u8 slot) { +u8 sub_8077FC0(u8 slot) +{ u16 var; u8 r6; struct TransformStatus *transform; + r6 = GetBankPosition(slot, 1); - if (!IsContest()) { - if (GetBankSide(slot)) { + if (!IsContest()) + { + if (GetBankSide(slot) != 0) + { transform = &eTransformStatuses[slot]; if (!transform->species) { var = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); } else { var = transform->species; } - } else { + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) var = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); - } else { + else var = transform->species; - } } - if (GetBankSide(slot)) { + if (GetBankSide(slot) != 0) r6 -= sub_8077DD8(slot, var); - } } return r6; } -u8 GetAnimBankSpriteId(u8 whichBank) { +u8 GetAnimBankSpriteId(u8 whichBank) +{ u8 *sprites; - if (whichBank == ANIM_BANK_ATTACKER) { - if (IsBankSpritePresent(gAnimBankAttacker)) { + + if (whichBank == ANIM_BANK_ATTACKER) + { + if (IsBankSpritePresent(gAnimBankAttacker)) + { sprites = gBattleMonSprites; return sprites[gAnimBankAttacker]; - } else { + } + else + { return 0xff; } - } else if (whichBank == ANIM_BANK_TARGET) { - if (IsBankSpritePresent(gAnimBankTarget)) { + } + else if (whichBank == ANIM_BANK_TARGET) + { + if (IsBankSpritePresent(gAnimBankTarget)) + { sprites = gBattleMonSprites; return sprites[gAnimBankTarget]; - } else { + } + else + { return 0xff; } - } else if (whichBank == ANIM_BANK_ATK_PARTNER) { - if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { + } + else if (whichBank == ANIM_BANK_ATK_PARTNER) + { + if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) return 0xff; - } else { + else return gBattleMonSprites[gAnimBankAttacker ^ 2]; - } - } else { - if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { + } + else + { + if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) return gBattleMonSprites[gAnimBankTarget ^ 2]; - } else { + else return 0xff; - } } } -void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*)) { +void StoreSpriteCallbackInData(struct Sprite *sprite, void (*callback)(struct Sprite*)) +{ sprite->data[6] = (u32)(callback) & 0xffff; sprite->data[7] = (u32)(callback) >> 16; } -void SetCallbackToStoredInData(struct Sprite *sprite) { +void SetCallbackToStoredInData(struct Sprite *sprite) +{ u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16); sprite->callback = (void (*)(struct Sprite *))callback; } -void sub_8078114(struct Sprite *sprite) { - if (sprite->data[3]) { +void sub_8078114(struct Sprite *sprite) +{ + if (sprite->data[3]) + { sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]); sprite->data[0] += sprite->data[2]; - if (sprite->data[0] >= 0x100) { + if (sprite->data[0] >= 0x100) sprite->data[0] -= 0x100; - } else if (sprite->data[0] < 0) { + else if (sprite->data[0] < 0) sprite->data[0] += 0x100; - } sprite->data[3]--; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_8078174(struct Sprite *sprite) { - if (sprite->data[3]) { +void sub_8078174(struct Sprite *sprite) +{ + if (sprite->data[3]) + { sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); sprite->data[0] += sprite->data[2]; sprite->data[5] += sprite->data[4]; - if (sprite->data[0] >= 0x100) { + if (sprite->data[0] >= 0x100) sprite->data[0] -= 0x100; - } else if (sprite->data[0] < 0) { + else if (sprite->data[0] < 0) sprite->data[0] += 0x100; - } sprite->data[3]--; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void unref_sub_80781F0(struct Sprite *sprite) { - if (sprite->data[3]) { +void unref_sub_80781F0(struct Sprite *sprite) +{ + if (sprite->data[3]) + { sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]); sprite->data[0] += sprite->data[2]; sprite->data[4] += sprite->data[5]; - if (sprite->data[0] >= 0x100) { + if (sprite->data[0] >= 0x100) sprite->data[0] -= 0x100; - } else if (sprite->data[0] < 0) { + else if (sprite->data[0] < 0) sprite->data[0] += 0x100; - } - if (sprite->data[4] >= 0x100) { + if (sprite->data[4] >= 0x100) sprite->data[4] -= 0x100; - } else if (sprite->data[4] < 0) { + else if (sprite->data[4] < 0) sprite->data[4] += 0x100; - } sprite->data[3]--; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_8078278(struct Sprite *sprite) { - if (sprite->data[3]) { +void sub_8078278(struct Sprite *sprite) +{ + if (sprite->data[3]) + { sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]); sprite->data[0] += sprite->data[2]; - if (sprite->data[0] >= 0x100) { + if (sprite->data[0] >= 0x100) sprite->data[0] -= 0x100; - } else if (sprite->data[0] < 0) { + else if (sprite->data[0] < 0) sprite->data[0] += 0x100; - } sprite->data[3]--; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_80782D8(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_80782D8(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) sprite->data[0]--; - } else { + else SetCallbackToStoredInData(sprite); - } } -void sub_80782F8(struct Sprite *sprite) { +void sub_80782F8(struct Sprite *sprite) +{ sub_8078314(sprite); sprite->callback = sub_8078364; sprite->callback(sprite); } -void sub_8078314(struct Sprite *sprite) { +void sub_8078314(struct Sprite *sprite) +{ s16 old; int v1; - if (sprite->data[1] > sprite->data[2]) { + + if (sprite->data[1] > sprite->data[2]) sprite->data[0] = -sprite->data[0]; - } v1 = sprite->data[2] - sprite->data[1]; old = sprite->data[0]; sprite->data[0] = abs(v1 / sprite->data[0]); @@ -529,42 +578,55 @@ void sub_8078314(struct Sprite *sprite) { sprite->data[1] = old; } -void sub_8078364(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_8078364(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; sprite->pos2.x += sprite->data[1]; sprite->pos2.y += sprite->data[2]; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_8078394(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_8078394(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; sprite->pos2.x = sprite->data[3] >> 8; sprite->pos2.y = sprite->data[4] >> 8; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_80783D0(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_80783D0(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; sprite->pos2.x = sprite->data[3] >> 8; sprite->pos2.y = sprite->data[4] >> 8; - } else { + } + else + { SetCallbackToStoredInData(sprite); } UpdateMonIconFrame(sprite); } -void unref_sub_8078414(struct Sprite *sprite) { +void unref_sub_8078414(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); @@ -572,51 +634,65 @@ void unref_sub_8078414(struct Sprite *sprite) { sprite->callback = sub_80782F8; } -void sub_8078458(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_8078458(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; gSprites[sprite->data[3]].pos2.x += sprite->data[1]; gSprites[sprite->data[3]].pos2.y += sprite->data[2]; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_80784A8(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_80784A8(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8; gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8; - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void sub_8078504(struct Sprite *sprite) { - if (sprite->data[0] > 0) { +void sub_8078504(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { sprite->data[0]--; sprite->pos2.x = sprite->data[2] >> 8; sprite->data[2] += sprite->data[1]; sprite->pos2.y = sprite->data[4] >> 8; sprite->data[4] += sprite->data[3]; - if (sprite->data[0] % sprite->data[5] == 0) { - if (sprite->data[5]) { + if (sprite->data[0] % sprite->data[5] == 0) + { + if (sprite->data[5]) sprite->invisible ^= 1; - } } - } else { + } + else + { SetCallbackToStoredInData(sprite); } } -void move_anim_8074EE0(struct Sprite *sprite) { +void move_anim_8074EE0(struct Sprite *sprite) +{ FreeSpriteOamMatrix(sprite); DestroyAnimSprite(sprite); } -void unref_sub_8078588(struct Sprite *sprite) { +void unref_sub_8078588(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); @@ -624,57 +700,68 @@ void unref_sub_8078588(struct Sprite *sprite) { sprite->callback = sub_80782F8; } -void unref_sub_80785CC(struct Sprite *sprite) { +void unref_sub_80785CC(struct Sprite *sprite) +{ ResetPaletteStructByUid(sprite->data[5]); move_anim_8074EE0(sprite); } -void sub_80785E4(struct Sprite *sprite) { - if (sprite->affineAnimEnded) { +void sub_80785E4(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) SetCallbackToStoredInData(sprite); - } } -void sub_8078600(struct Sprite *sprite) { - if (sprite->animEnded) { +void sub_8078600(struct Sprite *sprite) +{ + if (sprite->animEnded) SetCallbackToStoredInData(sprite); - } } -void sub_807861C(struct Sprite *sprite) { +void sub_807861C(struct Sprite *sprite) +{ REG_BLDCNT = 0; REG_BLDALPHA = 0; DestroyAnimSprite(sprite); } -void sub_8078634(u8 task) { +void sub_8078634(u8 task) +{ REG_BLDCNT = 0; REG_BLDALPHA = 0; DestroyAnimVisualTask(task); } -void sub_8078650(struct Sprite *sprite) { +void sub_8078650(struct Sprite *sprite) +{ sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); } -void sub_807867C(struct Sprite *sprite, s16 a2) { +void sub_807867C(struct Sprite *sprite, s16 a2) +{ u16 v1 = GetBankPosition(gAnimBankAttacker, 0); u16 v2 = GetBankPosition(gAnimBankTarget, 0); - if (v1 > v2) { + + if (v1 > v2) + { sprite->pos1.x -= a2; - } else if (v1 < v2) { + } + else if (v1 < v2) + { sprite->pos1.x += a2; - } else { - if (GetBankSide(gAnimBankAttacker)) { + } + else + { + if (GetBankSide(gAnimBankAttacker) != 0) sprite->pos1.x -= a2; - } else { + else sprite->pos1.x += a2; - } } } -void sub_80786EC(struct Sprite *sprite) { +void sub_80786EC(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; obj_translate_based_on_private_1_2_3_4(sprite); @@ -682,24 +769,27 @@ void sub_80786EC(struct Sprite *sprite) { sprite->data[7] = 0; } -bool8 sub_8078718(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) { +bool8 sub_8078718(struct Sprite *sprite) +{ + if (sub_8078B5C(sprite)) return TRUE; - } sprite->data[7] += sprite->data[6]; sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); return FALSE; } -void oamt_add_pos2_onto_pos1(struct Sprite *sprite) { +void oamt_add_pos2_onto_pos1(struct Sprite *sprite) +{ sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; sprite->pos2.x = 0; sprite->pos2.y = 0; } -void sub_8078764(struct Sprite *sprite, u8 a2) { - if (!a2) { +void sub_8078764(struct Sprite *sprite, u8 a2) +{ + if (!a2) + { sprite->pos1.x = sub_8077EE4(gAnimBankTarget, 0); sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 1); } @@ -707,11 +797,15 @@ void sub_8078764(struct Sprite *sprite, u8 a2) { sprite->pos1.y += gBattleAnimArgs[1]; } -void sub_80787B0(struct Sprite *sprite, u8 a2) { - if (!a2) { +void sub_80787B0(struct Sprite *sprite, u8 a2) +{ + if (!a2) + { sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 0); sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 1); - } else { + } + else + { sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 2); sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 3); } @@ -719,103 +813,127 @@ void sub_80787B0(struct Sprite *sprite, u8 a2) { sprite->pos1.y += gBattleAnimArgs[1]; } -u8 GetBankSide(u8 slot) { +u8 GetBankSide(u8 slot) +{ return gBanksBySide[slot] & 1; } -u8 GetBankIdentity(u8 slot) { +u8 GetBankIdentity(u8 slot) +{ return gBanksBySide[slot]; } -u8 GetBankByPlayerAI(u8 slot) { +u8 GetBankByPlayerAI(u8 slot) +{ u8 i; - for (i = 0; i < gNoOfAllBanks; i++) { - if (gBanksBySide[i] == slot) { + + for (i = 0; i < gNoOfAllBanks; i++) + { + if (gBanksBySide[i] == slot) break; - } } return i; } -bool8 IsBankSpritePresent(u8 slot) { - if (IsContest()) { - if (gAnimBankAttacker == slot) { +bool8 IsBankSpritePresent(u8 slot) +{ + if (IsContest()) + { + if (gAnimBankAttacker == slot) return TRUE; - } - if (gAnimBankTarget == slot) { + if (gAnimBankTarget == slot) return TRUE; - } return FALSE; - } else { - if (gBanksBySide[slot] == 0xff) { + } + else + { + if (gBanksBySide[slot] == 0xff) return FALSE; - } - if (GetBankSide(slot)) { - if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) { + if (GetBankSide(slot)) + { + if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; - } - } else { - if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) { + } + else + { + if (GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; - } } return FALSE; } } -bool8 IsDoubleBattle() { +bool8 IsDoubleBattle() +{ return IS_DOUBLE_BATTLE(); } -void sub_8078914(struct Struct_sub_8078914 *unk) { - if (IsContest()) { - unk->field_0 = (u8 *)0x6008000; - unk->field_4 = (u8 *)0x600f000; +void sub_8078914(struct Struct_sub_8078914 *unk) +{ + if (IsContest()) + { + unk->field_0 = (u8 *)(VRAM + 0x8000); + unk->field_4 = (u8 *)(VRAM + 0xf000); unk->field_8 = 0xe; - } else { - unk->field_0 = (u8 *)0x6004000; - unk->field_4 = (u8 *)0x600e000; + } + else + { + unk->field_0 = (u8 *)(VRAM + 0x4000); + unk->field_4 = (u8 *)(VRAM + 0xe000); unk->field_8 = 0x8; } } -void sub_8078954(struct Struct_sub_8078914 *unk) { - if (IsContest()) { - unk->field_0 = (u8 *)0x6008000; - unk->field_4 = (u8 *)0x600f000; +void sub_8078954(struct Struct_sub_8078914 *unk) +{ + if (IsContest()) + { + unk->field_0 = (u8 *)(VRAM + 0x8000); + unk->field_4 = (u8 *)(VRAM + 0xf000); unk->field_8 = 0xe; - } else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) { - unk->field_0 = (u8 *)0x6004000; - unk->field_4 = (u8 *)0x600e000; + } + else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + { + unk->field_0 = (u8 *)(VRAM + 0x4000); + unk->field_4 = (u8 *)(VRAM + 0xe000); unk->field_8 = 0x8; - } else { - unk->field_0 = (u8 *)0x6006000; - unk->field_4 = (u8 *)0x600f000; + } + else + { + unk->field_0 = (u8 *)(VRAM + 0x6000); + unk->field_4 = (u8 *)(VRAM + 0xf000); unk->field_8 = 0x9; } } -u8 sub_80789BC() { - if (IsContest()) { +u8 sub_80789BC() +{ + if (IsContest()) return 1; - } return 2; } -void sub_80789D4(bool8 a1) { - if (!a1) { - BG3CNT.size = 0; - BG3CNT.overflow = 1; - } else if (IsContest()) { - BG3CNT.size = 0; - BG3CNT.overflow = 1; - } else { - BG3CNT.size = 1; - BG3CNT.overflow = 0; +void sub_80789D4(bool8 a1) +{ + if (!a1) + { + BG3CNT.screenSize = 0; + BG3CNT.areaOverflowMode = 1; + } + else if (IsContest()) + { + BG3CNT.screenSize = 0; + BG3CNT.areaOverflowMode = 1; + } + else + { + BG3CNT.screenSize = 1; + BG3CNT.areaOverflowMode = 0; } } -void sub_8078A34(struct Sprite *sprite) { +void sub_8078A34(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sub_8078A5C(sprite); @@ -823,7 +941,8 @@ void sub_8078A34(struct Sprite *sprite) { sprite->callback(sprite); } -void sub_8078A5C(struct Sprite *sprite) { +void sub_8078A5C(struct Sprite *sprite) +{ s16 x = (sprite->data[2] - sprite->data[1]) << 8; s16 y = (sprite->data[4] - sprite->data[3]) << 8; sprite->data[1] = x / sprite->data[0]; @@ -832,32 +951,36 @@ void sub_8078A5C(struct Sprite *sprite) { sprite->data[3] = 0; } -void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) { +void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) +{ int x = sprite->data[2] - sprite->data[1]; int y = sprite->data[4] - sprite->data[3]; bool8 r8 = x < 0; bool8 r9 = y < 0; u16 x2 = abs(x) << 8; u16 y2 = abs(y) << 8; + x2 = x2 / sprite->data[0]; y2 = y2 / sprite->data[0]; - if (r8) { + + if (r8) x2 |= 1; - } else { + else x2 &= ~1; - } - if (r9) { + + if (r9) y2 |= 1; - } else { + else y2 &= ~1; - } + sprite->data[1] = x2; sprite->data[2] = y2; sprite->data[4] = 0; sprite->data[3] = 0; } -void sub_8078B34(struct Sprite *sprite) { +void sub_8078B34(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; obj_translate_based_on_private_1_2_3_4(sprite); @@ -865,46 +988,51 @@ void sub_8078B34(struct Sprite *sprite) { sprite->callback(sprite); } -bool8 sub_8078B5C(struct Sprite *sprite) { +bool8 sub_8078B5C(struct Sprite *sprite) +{ u16 v1, v2, x, y; - if (!sprite->data[0]) { + + if (!sprite->data[0]) return TRUE; - } + v1 = sprite->data[1]; v2 = sprite->data[2]; x = sprite->data[3]; y = sprite->data[4]; x += v1; y += v2; - if (v1 & 1) { + + if (v1 & 1) sprite->pos2.x = -(x >> 8); - } else { + else sprite->pos2.x = x >> 8; - } - if (v2 & 1) { + + if (v2 & 1) sprite->pos2.y = -(y >> 8); - } else { + else sprite->pos2.y = y >> 8; - } + sprite->data[3] = x; sprite->data[4] = y; sprite->data[0]--; return FALSE; } -void sub_8078BB8(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) { +void sub_8078BB8(struct Sprite *sprite) +{ + if (sub_8078B5C(sprite)) SetCallbackToStoredInData(sprite); - } } -void sub_8078BD4(struct Sprite *sprite) { +void sub_8078BD4(struct Sprite *sprite) +{ int v1 = abs(sprite->data[2] - sprite->data[1]) << 8; sprite->data[0] = v1 / sprite->data[0]; obj_translate_based_on_private_1_2_3_4(sprite); } -void sub_8078C00(struct Sprite *sprite) { +void sub_8078C00(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sub_8078BD4(sprite); @@ -912,32 +1040,36 @@ void sub_8078C00(struct Sprite *sprite) { sprite->callback(sprite); } -void sub_8078C28(struct Sprite *sprite) { +void sub_8078C28(struct Sprite *sprite) +{ int x = sprite->data[2] - sprite->data[1]; int y = sprite->data[4] - sprite->data[3]; bool8 x_sign = x < 0; bool8 y_sign = y < 0; u16 x2 = abs(x) << 4; u16 y2 = abs(y) << 4; + x2 /= sprite->data[0]; y2 /= sprite->data[0]; - if (x_sign) { + + if (x_sign) x2 |= 1; - } else { + else x2 &= ~1; - } - if (y_sign) { + + if (y_sign) y2 |= 1; - } else { + else y2 &= ~1; - } + sprite->data[1] = x2; sprite->data[2] = y2; sprite->data[4] = 0; sprite->data[3] = 0; } -void sub_8078CC0(struct Sprite *sprite) { +void sub_8078CC0(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sub_8078C28(sprite); @@ -945,46 +1077,51 @@ void sub_8078CC0(struct Sprite *sprite) { sprite->callback(sprite); } -bool8 sub_8078CE8(struct Sprite *sprite) { +bool8 sub_8078CE8(struct Sprite *sprite) +{ u16 v1, v2, x, y; - if (!sprite->data[0]) { + + if (!sprite->data[0]) return TRUE; - } + v1 = sprite->data[1]; v2 = sprite->data[2]; x = sprite->data[3]; y = sprite->data[4]; x += v1; y += v2; - if (v1 & 1) { + + if (v1 & 1) sprite->pos2.x = -(x >> 4); - } else { + else sprite->pos2.x = x >> 4; - } - if (v2 & 1) { + + if (v2 & 1) sprite->pos2.y = -(y >> 4); - } else { + else sprite->pos2.y = y >> 4; - } + sprite->data[3] = x; sprite->data[4] = y; sprite->data[0]--; return FALSE; } -void sub_8078D44(struct Sprite *sprite) { - if (sub_8078CE8(sprite)) { +void sub_8078D44(struct Sprite *sprite) +{ + if (sub_8078CE8(sprite)) SetCallbackToStoredInData(sprite); - } } -void sub_8078D60(struct Sprite *sprite) { +void sub_8078D60(struct Sprite *sprite) +{ int v1 = abs(sprite->data[2] - sprite->data[1]) << 4; sprite->data[0] = v1 / sprite->data[0]; sub_8078C28(sprite); } -void sub_8078D8C(struct Sprite *sprite) { +void sub_8078D8C(struct Sprite *sprite) +{ sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sub_8078D60(sprite); @@ -992,16 +1129,17 @@ void sub_8078D8C(struct Sprite *sprite) { sprite->callback(sprite); } -void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) { +void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) +{ int i; struct ObjAffineSrcData src; struct OamMatrix matrix; + src.xScale = xScale; src.yScale = yScale; src.rotation = rotation; - if (sub_8078E38()) { + if (sub_8078E38()) src.xScale = -src.xScale; - } i = gSprites[sprite].oam.matrixNum; ObjAffineSet(&src, &matrix, 1, 2); gOamMatrices[i].a = matrix.a; @@ -1010,31 +1148,33 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) { gOamMatrices[i].d = matrix.d; } -bool8 sub_8078E38() { - if (IsContest()) { - if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) { +bool8 sub_8078E38() +{ + if (IsContest()) + { + if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) return FALSE; - } return TRUE; } return FALSE; } -void sub_8078E70(u8 sprite, u8 a2) { +void sub_8078E70(u8 sprite, u8 a2) +{ u8 r7 = gSprites[sprite].data[0]; - if (IsContest() || IsAnimBankSpriteVisible(r7)) { + + if (IsContest() || IsAnimBankSpriteVisible(r7)) gSprites[sprite].invisible = FALSE; - } gSprites[sprite].oam.objMode = a2; gSprites[sprite].affineAnimPaused = TRUE; - if (!IsContest() && !gSprites[sprite].oam.affineMode) { + if (!IsContest() && !gSprites[sprite].oam.affineMode) gSprites[sprite].oam.matrixNum = ewram17810[r7].unk6; - } gSprites[sprite].oam.affineMode = 3; CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode); } -void sub_8078F40(u8 sprite) { +void sub_8078F40(u8 sprite) +{ obj_id_set_rotscale(sprite, 0x100, 0x100, 0); gSprites[sprite].oam.affineMode = 1; gSprites[sprite].oam.objMode = 0; @@ -1042,31 +1182,33 @@ void sub_8078F40(u8 sprite) { CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode); } -void sub_8078F9C(u8 sprite) { +void sub_8078F9C(u8 sprite) +{ u16 matrix = gSprites[sprite].oam.matrixNum; s16 c = gOamMatrices[matrix].c; - if (c < 0) { + + if (c < 0) c = -c; - } gSprites[sprite].pos2.y = c >> 3; } // related to obj_id_set_rotscale -void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation) { +void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation) +{ int i; struct ObjAffineSrcData src; struct OamMatrix matrix; - if (sprite->oam.affineMode & 1) { + + if (sprite->oam.affineMode & 1) + { sprite->affineAnimPaused = TRUE; - if (a2) { + if (a2) CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); - } src.xScale = xScale; src.yScale = yScale; src.rotation = rotation; - if (sub_8078E38()) { + if (sub_8078E38()) src.xScale = -src.xScale; - } i = sprite->oam.matrixNum; ObjAffineSet(&src, &matrix, 1, 2); gOamMatrices[i].a = matrix.a; @@ -1076,56 +1218,67 @@ void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 ro } } -void sub_8079098(struct Sprite *sprite) { +void sub_8079098(struct Sprite *sprite) +{ sub_8078FDC(sprite, TRUE, 0x100, 0x100, 0); sprite->affineAnimPaused = FALSE; CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); } -static u16 ArcTan2_(s16 a, s16 b) { +static u16 ArcTan2_(s16 a, s16 b) +{ return ArcTan2(a, b); } -u16 sub_80790F0(s16 a, s16 b) { +u16 sub_80790F0(s16 a, s16 b) +{ u16 var = ArcTan2_(a, b); return -var; } -void sub_8079108(u16 a1, bool8 a2) { +void sub_8079108(u16 a1, bool8 a2) +{ int i; - struct Color *c; - struct Color *c2; + struct PlttData *c; + struct PlttData *c2; u16 average; a1 *= 0x10; - if (!a2) { - for (i = 0; i < 0x10; i++) { - c = (struct Color *)&gPlttBufferUnfaded[a1 + i]; + if (!a2) + { + for (i = 0; i < 0x10; i++) + { + c = (struct PlttData *)&gPlttBufferUnfaded[a1 + i]; average = c->r + c->g + c->b; average /= 3; - c2 = (struct Color *)&gPlttBufferFaded[a1 + i]; + c2 = (struct PlttData *)&gPlttBufferFaded[a1 + i]; c2->r = average; c2->g = average; c2->b = average; } - } else { + } + else + { CpuCopy32(&gPlttBufferUnfaded[a1], &gPlttBufferFaded[a1], 0x20); } } -u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { +u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) +{ u32 var = 0; u32 shift; - if (a1) { - if (!IsContest()) { + + if (a1) + { + if (!IsContest()) var = 0xe; - } else { + else var = 1 << sub_80789BC(); - } } - if (a2) { + if (a2) + { shift = gAnimBankAttacker + 16; var |= 1 << shift; } @@ -1133,61 +1286,77 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { shift = gAnimBankTarget + 16; var |= 1 << shift; } - if (a4) { - if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { + if (a4) + { + if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) + { shift = (gAnimBankAttacker ^ 2) + 16; var |= 1 << shift; } } - if (a5) { - if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { + if (a5) + { + if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) + { shift = (gAnimBankTarget ^ 2) + 16; var |= 1 << shift; } } - if (a6) { - if (!IsContest()) { + if (a6) + { + if (!IsContest()) var |= 0x100; - } else { + else var |= 0x4000; - } } - if (a7) { - if (!IsContest()) { + if (a7) + { + if (!IsContest()) var |= 0x200; - } } return var; } -u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) { +u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) +{ u32 var = 0; u32 shift; - if (IsContest()) { - if (a1) { + + if (IsContest()) + { + if (a1) + { var |= 1 << 18; return var; } - } else { - if (a1) { - if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) { + } + else + { + if (a1) + { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) var |= 1 << (GetBankByPlayerAI(0) + 16); - } } - if (a2) { - if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) { + if (a2) + { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) + { shift = GetBankByPlayerAI(2) + 16; var |= 1 << shift; } } - if (a3) { - if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) { + if (a3) + { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) + { shift = GetBankByPlayerAI(1) + 16; var |= 1 << shift; } } - if (a4) { - if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) { + if (a4) + { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) + { shift = GetBankByPlayerAI(3) + 16; var |= 1 << shift; } @@ -1196,51 +1365,57 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) { return var; } -u8 sub_80793A8(u8 a1) { +u8 sub_80793A8(u8 a1) +{ return a1; } -u8 unref_sub_80793B0(u8 a1) { +u8 unref_sub_80793B0(u8 a1) +{ return GetBankByPlayerAI(a1); } -void sub_80793C4(struct Sprite *sprite) { +void sub_80793C4(struct Sprite *sprite) +{ bool8 var; - if (!sprite->data[0]) { - if (!gBattleAnimArgs[3]) { + + if (!sprite->data[0]) + { + if (!gBattleAnimArgs[3]) var = TRUE; - } else { + else var = FALSE; - } - if (!gBattleAnimArgs[2]) { + if (!gBattleAnimArgs[2]) sub_80787B0(sprite, var); - } else { + else sub_8078764(sprite, var); - } sprite->data[0]++; - } else if (sprite->animEnded || sprite->affineAnimEnded) { + } + else if (sprite->animEnded || sprite->affineAnimEnded) + { move_anim_8074EE0(sprite); } } -void sub_807941C(struct Sprite *sprite) { +void sub_807941C(struct Sprite *sprite) +{ bool8 v1; u8 v2; - if (!(gBattleAnimArgs[5] & 0xff00)) { + + if (!(gBattleAnimArgs[5] & 0xff00)) v1 = TRUE; - } else { + else v1 = FALSE; - } - if (!(gBattleAnimArgs[5] & 0xff)) { + + if (!(gBattleAnimArgs[5] & 0xff)) v2 = 3; - } else { + else v2 = 1; - } + sub_80787B0(sprite, v1); - if (GetBankSide(gAnimBankAttacker)) { + if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - } sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3]; @@ -1248,11 +1423,11 @@ void sub_807941C(struct Sprite *sprite) { StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -void sub_80794A8(struct Sprite *sprite) { +void sub_80794A8(struct Sprite *sprite) +{ sub_80787B0(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) { + if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - } sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; @@ -1261,31 +1436,38 @@ void sub_80794A8(struct Sprite *sprite) { sprite->callback = sub_8079518; } -void sub_8079518(struct Sprite *sprite) { - if (sub_8078718(sprite)) { +void sub_8079518(struct Sprite *sprite) +{ + if (sub_8078718(sprite)) DestroyAnimSprite(sprite); - } } -void sub_8079534(struct Sprite *sprite) { +void sub_8079534(struct Sprite *sprite) +{ u8 r4, slot, r7; - if (!gBattleAnimArgs[6]) { + + if (!gBattleAnimArgs[6]) + { r4 = 1; r7 = 3; - } else { + } + else + { r4 = 0; r7 = 1; } - if (!gBattleAnimArgs[5]) { + if (!gBattleAnimArgs[5]) + { sub_80787B0(sprite, r4); slot = gAnimBankAttacker; - } else { + } + else + { sub_8078764(sprite, r4); slot = gAnimBankTarget; } - if (GetBankSide(gAnimBankAttacker)) { + if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - } sub_8078764(sprite, r4); sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2]; @@ -1294,43 +1476,47 @@ void sub_8079534(struct Sprite *sprite) { StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) { +s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) +{ u16 i; u8 sprite = GetAnimBankSpriteId(a1); - if (sprite != 0xff) { - for (i = 0; i < 0x40; i++) { - if (gSprites[i].inUse) { - continue; + + if (sprite != 0xff) + { + for (i = 0; i < 0x40; i++) + { + if (!gSprites[i].inUse) + { + gSprites[i] = gSprites[sprite]; + gSprites[i].oam.objMode = 1; + gSprites[i].invisible = FALSE; + return i; } - gSprites[i] = gSprites[sprite]; - gSprites[i].oam.objMode = 1; - gSprites[i].invisible = FALSE; - return i; } } return -1; } -void obj_delete_but_dont_free_vram(struct Sprite *sprite) { +void obj_delete_but_dont_free_vram(struct Sprite *sprite) +{ sprite->usingSheet = TRUE; DestroySprite(sprite); } -void sub_8079670(u8 task) { +void sub_8079670(u8 task) +{ s16 v1 = 0; s16 v2 = 0; - if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) { + + if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) v2 = 1; - } - if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) { + if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) v2 = -1; - } - if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) { + if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) v1 = 1; - } - if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) { + if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) v1 = -1; - } + gTasks[task].data[0] = 0; gTasks[task].data[1] = gBattleAnimArgs[4]; gTasks[task].data[2] = 0; @@ -1344,30 +1530,38 @@ void sub_8079670(u8 task) { gTasks[task].func = sub_80796F8; } -void sub_80796F8(u8 taskId) { +void sub_80796F8(u8 taskId) +{ struct Task *task = &gTasks[taskId]; - if (++task->data[0] > task->data[1]) { + + if (++task->data[0] > task->data[1]) + { task->data[0] = 0; - if (++task->data[2] & 1) { - if (task->data[3] != task->data[7]) { + if (++task->data[2] & 1) + { + if (task->data[3] != task->data[7]) task->data[3] += task->data[5]; - } - } else { - if (task->data[4] != task->data[8]) { + } + else + { + if (task->data[4] != task->data[8]) task->data[4] += task->data[6]; - } } REG_BLDALPHA = (task->data[4] << 8) | task->data[3]; - if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) { + if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) + { DestroyAnimVisualTask(taskId); return; } } } -void sub_8079790(u8 task) { +void sub_8079790(u8 task) +{ u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); - if (sprite == 0xff) { + + if (sprite == 0xff) + { DestroyAnimVisualTask(task); return; } @@ -1375,7 +1569,8 @@ void sub_8079790(u8 task) { sub_80797EC(&gTasks[task]); } -void sub_80797EC(struct Task *task) { +void sub_80797EC(struct Task *task) +{ task->data[1] = gBattleAnimArgs[1]; task->data[2] = 0; task->data[3] = gBattleAnimArgs[2]; @@ -1386,24 +1581,33 @@ void sub_80797EC(struct Task *task) { task->func = sub_8079814; } -void sub_8079814(u8 taskId) { +void sub_8079814(u8 taskId) +{ struct Task *task = &gTasks[taskId]; - if (++task->data[4] >= task->data[5]) { + + if (++task->data[4] >= task->data[5]) + { task->data[4] = 0; - if (!task->data[6]) { + if (!task->data[6]) + { task->data[2]++; BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]); - if (task->data[2] == task->data[3]) { + if (task->data[2] == task->data[3]) task->data[6] = 1; - } - } else { + } + else + { task->data[2]--; BlendPalette(task->data[0], 0xf, task->data[2], task->data[1]); - if (!task->data[2]) { - if (--task->data[7]) { + if (!task->data[2]) + { + if (--task->data[7]) + { task->data[4] = 0; task->data[6] = 0; - } else { + } + else + { DestroyAnimVisualTask(taskId); return; } @@ -1412,9 +1616,12 @@ void sub_8079814(u8 taskId) { } } -void sub_80798AC(u8 task) { +void sub_80798AC(u8 task) +{ u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]); - if (palette == 0xff) { + + if (palette == 0xff) + { DestroyAnimVisualTask(task); return; } @@ -1422,7 +1629,8 @@ void sub_80798AC(u8 task) { sub_80797EC(&gTasks[task]); } -void sub_80798F4(struct Task *task, u8 a2, const void *a3) { +void sub_80798F4(struct Task *task, u8 a2, const void *a3) +{ task->data[7] = 0; task->data[8] = 0; task->data[9] = 0; @@ -1434,11 +1642,14 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3) { sub_8078E70(a2, 0); } -bool8 sub_807992C(struct Task *task) { +bool8 sub_807992C(struct Task *task) +{ gUnknown_0202F7D4 = sub_8079BFC(task->data[13], task->data[14]) + (task->data[7] << 3); - switch (gUnknown_0202F7D4->type) { + switch (gUnknown_0202F7D4->type) + { default: - if (!gUnknown_0202F7D4->frame.duration) { + if (!gUnknown_0202F7D4->frame.duration) + { task->data[10] = gUnknown_0202F7D4->frame.xScale; task->data[11] = gUnknown_0202F7D4->frame.yScale; task->data[12] = gUnknown_0202F7D4->frame.rotation; @@ -1450,44 +1661,49 @@ bool8 sub_807992C(struct Task *task) { task->data[12] += gUnknown_0202F7D4->frame.rotation; obj_id_set_rotscale(task->data[15], task->data[10], task->data[11], task->data[12]); sub_8079A64(task->data[15]); - if (++task->data[8] >= gUnknown_0202F7D4->frame.duration) { + if (++task->data[8] >= gUnknown_0202F7D4->frame.duration) + { task->data[8] = 0; task->data[7]++; } break; - case AFFINEANIMCMDTYPE_JUMP: task->data[7] = gUnknown_0202F7D4->jump.target; break; - case AFFINEANIMCMDTYPE_LOOP: - if (gUnknown_0202F7D4->loop.count) { - if (task->data[9]) { - if (!--task->data[9]) { + if (gUnknown_0202F7D4->loop.count) + { + if (task->data[9]) + { + if (!--task->data[9]) + { task->data[7]++; break; } - } else { + } + else + { task->data[9] = gUnknown_0202F7D4->loop.count; } - if (!task->data[7]) { + if (!task->data[7]) + { break; } - for (;;) { + for (;;) + { task->data[7]--; gUnknown_0202F7D4--; - if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP) { + if (gUnknown_0202F7D4->type == AFFINEANIMCMDTYPE_LOOP) + { task->data[7]++; return TRUE; } - if (!task->data[7]) { + if (!task->data[7]) return TRUE; - } } } task->data[7]++; break; - case 0x7fff: gSprites[task->data[15]].pos2.y = 0; sub_8078F40(task->data[15]); @@ -1497,52 +1713,62 @@ bool8 sub_807992C(struct Task *task) { return TRUE; } -void sub_8079A64(u8 sprite) { +void sub_8079A64(u8 sprite) +{ int var = 0x40 - sub_8079B10(sprite) * 2; u16 matrix = gSprites[sprite].oam.matrixNum; int var2 = (var << 8) / gOamMatrices[matrix].d; - if (var2 > 0x80) { + + if (var2 > 0x80) var2 = 0x80; - } gSprites[sprite].pos2.y = (var - var2) / 2; } -void sub_8079AB8(u8 sprite, u8 sprite2) { +void sub_8079AB8(u8 sprite, u8 sprite2) +{ int var = 0x40 - sub_8079B10(sprite2) * 2; u16 matrix = gSprites[sprite].oam.matrixNum; int var2 = (var << 8) / gOamMatrices[matrix].d; - if (var2 > 0x80) { + + if (var2 > 0x80) var2 = 0x80; - } gSprites[sprite].pos2.y = (var - var2) / 2; } -u16 sub_8079B10(u8 sprite) { +u16 sub_8079B10(u8 sprite) +{ struct TransformStatus *transform; u8 slot = gSprites[sprite].data[0]; u16 species; u16 i; - for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) { - if (gBattleMonSprites[i] == sprite) { - if (IsContest()) { - species = ewram19348.unk0; + + for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) + { + if (gBattleMonSprites[i] == sprite) + { + if (IsContest()) + { + species = shared19348.unk0; return gMonBackPicCoords[species].y_offset; - } else { - if (!GetBankSide(i)) { + } + else + { + if (!GetBankSide(i)) + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES); - } else { + else species = transform->species; - } return gMonBackPicCoords[species].y_offset; - } else { + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES); - } else { + else species = transform->species; - } return gMonFrontPicCoords[species].y_offset; } } @@ -1551,19 +1777,22 @@ u16 sub_8079B10(u8 sprite) { return 0x40; } -void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr) { +void sub_8079BF4(s16 *bottom, s16 *top, const void *ptr) +{ *bottom = ((intptr_t) ptr) & 0xffff; *top = (((intptr_t) ptr) >> 16) & 0xffff; } -void *sub_8079BFC(s16 bottom, s16 top) { +void *sub_8079BFC(s16 bottom, s16 top) +{ return (void *)((u16)bottom | ((u16)top << 16)); } // possible new file -void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) { +void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) +{ task->data[8] = a7; task->data[15] = a2; // spriteId task->data[9] = a3; @@ -1574,124 +1803,133 @@ void sub_8079C08(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a task->data[12] = (a6 - a4) / a7; } -u8 sub_8079C74(struct Task *task) { - if (!task->data[8]) { +u8 sub_8079C74(struct Task *task) +{ + if (!task->data[8]) return 0; - } - if (--task->data[8]) { + + if (--task->data[8] != 0) + { task->data[9] += task->data[11]; task->data[10] += task->data[12]; - } else { + } + else + { task->data[9] = task->data[13]; task->data[10] = task->data[14]; } obj_id_set_rotscale(task->data[15], task->data[9], task->data[10], 0); - if (task->data[8]) { + if (task->data[8]) sub_8079A64(task->data[15]); - } else { + else gSprites[task->data[15]].pos2.y = 0; - } return task->data[8]; } -void sub_8079CEC(u8 task) { +void sub_8079CEC(u8 task) +{ u16 v1; - if (gAnimFriendship <= 30) { + + if (gAnimFriendship <= 30) v1 = 0; - } else if (gAnimFriendship <= 100) { + else if (gAnimFriendship <= 100) v1 = 1; - } else if (gAnimFriendship <= 200) { + else if (gAnimFriendship <= 200) v1 = 2; - } else { + else v1 = 3; - } gBattleAnimArgs[7] = v1; DestroyAnimVisualTask(task); } -void unref_sub_8079D20(u8 priority) { - if (IsAnimBankSpriteVisible(gAnimBankTarget)) { +void unref_sub_8079D20(u8 priority) +{ + if (IsAnimBankSpriteVisible(gAnimBankTarget)) gSprites[gBattleMonSprites[gAnimBankTarget]].oam.priority = priority; - } - if (IsAnimBankSpriteVisible(gAnimBankAttacker)) { + if (IsAnimBankSpriteVisible(gAnimBankAttacker)) gSprites[gBattleMonSprites[gAnimBankAttacker]].oam.priority = priority; - } - if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { + if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) gSprites[gBattleMonSprites[gAnimBankTarget ^ 2]].oam.priority = priority; - } - if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { + if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) gSprites[gBattleMonSprites[gAnimBankAttacker ^ 2]].oam.priority = priority; - } } -void sub_8079E24() { +void sub_8079E24() +{ int i; - for (i = 0; i < gNoOfAllBanks; i++) { - if (IsAnimBankSpriteVisible(i)) { + + for (i = 0; i < gNoOfAllBanks; i++) + { + if (IsAnimBankSpriteVisible(i)) + { gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i); gSprites[gBattleMonSprites[i]].oam.priority = 2; } } } -u8 sub_8079E90(u8 slot) { +u8 sub_8079E90(u8 slot) +{ u8 status; u8 ret; - if (IsContest()) { - if (slot == 2) { + + if (IsContest()) + { + if (slot == 2) return 30; - } else { + else return 40; - } - } else { + } + else + { status = GetBankIdentity(slot); - if (status == 0) { + if (status == 0) ret = 30; - } else if (status == 2) { + else if (status == 2) ret = 20; - } else if (status == 1) { + else if (status == 1) ret = 40; - } else { + else ret = 50; - } } return ret; } -u8 sub_8079ED4(u8 slot) { +u8 sub_8079ED4(u8 slot) +{ u8 status = GetBankIdentity(slot); - if (IsContest()) { + + if (IsContest()) return 2; - } - if (status == 0 || status == 3) { + if (status == 0 || status == 3) return BG2CNT.priority; - } else { + else return BG1CNT.priority; - } } -u8 GetBankIdentity_permutated(u8 slot) { +u8 GetBankIdentity_permutated(u8 slot) +{ u8 status; - if (!IsContest()) { + + if (!IsContest()) + { status = GetBankIdentity(slot); - if (status == 0 || status == 3) { + if (status == 0 || status == 3) return 2; - } else { + else return 1; - } } return 1; } -u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8) { - void *src; - void *dest; - int size; - +u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8) +{ u8 sprite; u16 sheet = LoadSpriteSheet(&gUnknown_0837F5E0[a3]); u16 palette = AllocSpritePalette(gSpriteTemplate_837F5B0[a3].paletteTag); - if (!isBackpic) { + + if (!isBackpic) + { LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20); LoadSpecialPokePic( &gMonFrontPicTable[species], @@ -1703,9 +1941,10 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, a7, 1 ); - } else { - LoadCompressedPalette( - GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20); + } + else + { + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20); LoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -1718,28 +1957,28 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, ); } - src = (void *)0x2000000; - dest = (void *)(0x6010000 + (sheet * 0x20)); - size = 0x800; - DmaCopy32(3, src, dest, size); + DmaCopy32Defvars(3, (void *)0x2000000, (void *)(VRAM + 0x10000 + (sheet * 0x20)), 0x800); - if (!isBackpic) { + if (!isBackpic) sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonFrontPicCoords[species].y_offset, a6); - } else { + else sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6); - } - if (IsContest()) { + + if (IsContest()) + { gSprites[sprite].affineAnims = gSpriteAffineAnimTable_81E7C18; StartSpriteAffineAnim(&gSprites[sprite], 0); } return sprite; } -void sub_807A0F4(struct Sprite *sprite) { +void sub_807A0F4(struct Sprite *sprite) +{ DestroySpriteAndFreeResources(sprite); } -int sub_807A100(u8 slot, u8 a2) { +int sub_807A100(u8 slot, u8 a2) +{ u16 species; u32 personality; u16 letter; @@ -1747,80 +1986,113 @@ int sub_807A100(u8 slot, u8 a2) { int ret; const struct MonCoords *coords; struct TransformStatus *transform; - if (IsContest()) { - if (ewram19348.unk4 & 1) { - species = ewram19348.unk2; - personality = ewram19348.unk10; - } else { - species = ewram19348.unk0; - personality = ewram19348.unk8; + + if (IsContest()) + { + if (shared19348.unk4_0) + { + species = shared19348.unk2; + personality = shared19348.unk10; + } + else + { + species = shared19348.unk0; + personality = shared19348.unk8; } - if (species == SPECIES_UNOWN) { + if (species == SPECIES_UNOWN) + { letter = GET_UNOWN_LETTER(personality); - if (!letter) { + if (!letter) var = SPECIES_UNOWN; - } else { + else var = letter + SPECIES_UNOWN_B - 1; - } coords = &gMonBackPicCoords[var]; - } else if (species == SPECIES_CASTFORM) { + } + else if (species == SPECIES_CASTFORM) + { coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]]; - } else if (species <= SPECIES_EGG) { + } + else if (species <= SPECIES_EGG) + { coords = &gMonBackPicCoords[species]; - } else { + } + else + { coords = &gMonBackPicCoords[0]; } - } else { - if (!GetBankSide(slot)) { + } + else + { + if (!GetBankSide(slot)) + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) + { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); - } else { + } + else + { species = transform->species; personality = gTransformPersonalities[slot]; } - if (species == SPECIES_UNOWN) { + if (species == SPECIES_UNOWN) + { letter = GET_UNOWN_LETTER(personality); - if (!letter) { + if (!letter) var = SPECIES_UNOWN; - } else { + else var = letter + SPECIES_UNOWN_B - 1; - } coords = &gMonBackPicCoords[var]; - } else if (species > SPECIES_EGG) { + } + else if (species > SPECIES_EGG) + { coords = &gMonBackPicCoords[0]; - } else { + } + else + { coords = &gMonBackPicCoords[species]; } - } else { + } + else + { transform = &eTransformStatuses[slot]; - if (!transform->species) { + if (!transform->species) + { species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); - } else { + } + else + { species = transform->species; personality = gTransformPersonalities[slot]; } - if (species == SPECIES_UNOWN) { + if (species == SPECIES_UNOWN) + { letter = GET_UNOWN_LETTER(personality); - if (!letter) { + if (!letter) var = SPECIES_UNOWN; - } else { + else var = letter + SPECIES_UNOWN_B - 1; - } coords = &gMonFrontPicCoords[var]; - } else if (species == SPECIES_CASTFORM) { + } + else if (species == SPECIES_CASTFORM) + { coords = &gCastformFrontSpriteCoords[gBattleMonForms[slot]]; - } else if (species > SPECIES_EGG) { + } + else if (species > SPECIES_EGG) + { coords = &gMonFrontPicCoords[0]; - } else { + } + else + { coords = &gMonFrontPicCoords[species]; } } } - switch (a2) { + switch (a2) + { case 0: return (coords->coords & 0xf) * 8; case 1: @@ -1841,23 +2113,31 @@ int sub_807A100(u8 slot, u8 a2) { } } -void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) { +void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) +{ u8 v1, v2; s16 v3, v4; s16 v5, v6; - if (!a2) { + + if (!a2) + { v1 = 0; v2 = 1; - } else { + } + else + { v1 = 2; v2 = 3; } v3 = GetBankPosition(slot, v1); v4 = GetBankPosition(slot, v2); - if (IsDoubleBattle() && !IsContest()) { + if (IsDoubleBattle() && !IsContest()) + { v5 = GetBankPosition(slot ^ 2, v1); v6 = GetBankPosition(slot ^ 2, v2); - } else { + } + else + { v5 = v3; v6 = v4; } @@ -1865,7 +2145,8 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) { *a4 = (v4 + v6) / 2; } -u8 sub_807A4A0(int a1, u8 sprite, int a3) { +u8 sub_807A4A0(int a1, u8 sprite, int a3) +{ u8 new_sprite = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); gSprites[new_sprite] = gSprites[sprite]; gSprites[new_sprite].usingSheet = TRUE; @@ -1876,13 +2157,17 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) { return new_sprite; } -void sub_807A544(struct Sprite *sprite) { +void sub_807A544(struct Sprite *sprite) +{ sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) { + if (GetBankSide(gAnimBankAttacker)) + { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; sprite->hFlip = TRUE; - } else { + } + else + { sprite->pos1.x += gBattleAnimArgs[0]; } sprite->pos1.y += gBattleAnimArgs[1]; @@ -1894,11 +2179,15 @@ void sub_807A544(struct Sprite *sprite) { sprite->callback = sub_8078504; } -void sub_807A5C4(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) { +void sub_807A5C4(struct Sprite *sprite) +{ + if (GetBankSide(gAnimBankAttacker)) + { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] *= -1; - } else { + } + else + { sprite->pos1.x += gBattleAnimArgs[0]; } sprite->pos1.y += gBattleAnimArgs[1]; @@ -1911,19 +2200,20 @@ void sub_807A5C4(struct Sprite *sprite) { sprite->callback = sub_8078504; } -void sub_807A63C(struct Sprite *sprite) { +void sub_807A63C(struct Sprite *sprite) +{ sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) { + if (GetBankSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; - } else { + else sprite->pos1.x += gBattleAnimArgs[0]; - } sprite->pos1.y += gBattleAnimArgs[1]; sprite->callback = sub_8078600; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -void sub_807A69C(u8 taskId) { +void sub_807A69C(u8 taskId) +{ u16 src; u16 dest; struct Task *task = &gTasks[taskId]; @@ -1938,23 +2228,25 @@ void sub_807A69C(u8 taskId) { dest = (task->data[4] + 0x10) * 0x10; src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10; task->data[6] = sub_8079E90(gAnimBankAttacker); - if (task->data[6] == 20 || task->data[6] == 40) { + if (task->data[6] == 20 || task->data[6] == 40) task->data[6] = 2; - } else { + else task->data[6] = 3; - } CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); BlendPalette(dest, 0x10, gBattleAnimArgs[1], gBattleAnimArgs[0]); task->func = sub_807A784; } -void sub_807A784(u8 taskId) { +void sub_807A784(u8 taskId) +{ struct Task *task = &gTasks[taskId]; - switch (task->data[2]) { + switch (task->data[2]) + { case 0: sub_807A850(task, taskId); gSprites[task->data[0]].pos2.x += task->data[1]; - if (++task->data[3] == 5) { + if (++task->data[3] == 5) + { task->data[3]--; task->data[2]++; } @@ -1962,13 +2254,15 @@ void sub_807A784(u8 taskId) { case 1: sub_807A850(task, taskId); gSprites[task->data[0]].pos2.x -= task->data[1]; - if (--task->data[3] == 0) { + if (--task->data[3] == 0) + { gSprites[task->data[0]].pos2.x = 0; task->data[2]++; } break; case 2: - if (!task->data[5]) { + if (!task->data[5]) + { FreeSpritePaletteByTag(10097); DestroyAnimVisualTask(taskId); } @@ -1976,9 +2270,11 @@ void sub_807A784(u8 taskId) { } } -void sub_807A850(struct Task *task, u8 taskId) { +void sub_807A850(struct Task *task, u8 taskId) +{ s16 sprite = duplicate_obj_of_side_rel2move_in_transparent_mode(0); - if (sprite >= 0) { + if (sprite >= 0) + { gSprites[sprite].oam.priority = task->data[6]; gSprites[sprite].oam.paletteNum = task->data[4]; gSprites[sprite].data[0] = 8; @@ -1990,8 +2286,10 @@ void sub_807A850(struct Task *task, u8 taskId) { } } -void sub_807A8D4(struct Sprite *sprite) { - if (--sprite->data[0] == 0) { +void sub_807A8D4(struct Sprite *sprite) +{ + if (--sprite->data[0] == 0) + { gTasks[sprite->data[1]].data[5]--; obj_delete_but_dont_free_vram(sprite); } @@ -2000,38 +2298,40 @@ void sub_807A8D4(struct Sprite *sprite) { void sub_807A908(struct Sprite *sprite) { sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (!GetBankSide(gAnimBankAttacker)) { + if (!GetBankSide(gAnimBankAttacker)) sprite->data[0] = 5; - } else { + else sprite->data[0] = -10; - } sprite->data[1] = -40; sprite->callback = sub_807A960; } -void sub_807A960(struct Sprite *sprite) { +void sub_807A960(struct Sprite *sprite) +{ sprite->data[2] += sprite->data[0]; sprite->data[3] += sprite->data[1]; sprite->pos2.x = sprite->data[2] / 10; sprite->pos2.y = sprite->data[3] / 10; - if (sprite->data[1] < -20) { + if (sprite->data[1] < -20) sprite->data[1]++; - } - if ((sprite->pos1.y + sprite->pos2.y) < -32) { + if (sprite->pos1.y + sprite->pos2.y < -32) DestroyAnimSprite(sprite); - } } -void sub_807A9BC(struct Sprite *sprite) { +void sub_807A9BC(struct Sprite *sprite) +{ int x; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; - if (!GetBankSide(gAnimBankTarget)) { + if (!GetBankSide(gAnimBankTarget)) + { x = (u16)gBattleAnimArgs[4] + 30; sprite->pos1.x += x; sprite->pos1.y = gBattleAnimArgs[5] - 20; - } else { + } + else + { x = (u16)gBattleAnimArgs[4] - 30; sprite->pos1.x += x; sprite->pos1.y = gBattleAnimArgs[5] - 80; diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c new file mode 100644 index 000000000..52a0aeebf --- /dev/null +++ b/src/scene/cable_car.c @@ -0,0 +1,979 @@ + +// Includes +#include "global.h" +#include "ewram.h" +#include "overworld.h" +#include "palette.h" +#include "random.h" +#include "main.h" +#include "script.h" +#include "task.h" +#include "sound.h" +#include "graphics.h" +#include "constants/songs.h" +#include "decompress.h" +#include "field_weather.h" +#include "field_map_obj.h" +#include "unknown_task.h" +#include "event_data.h" +#include "cable_car_util.h" +#include "constants/map_objects.h" + +// Static type declarations + +// Credits to Made (dolphin emoji) +#define S16TOPOSFLOAT(val) \ +({ \ + s16 v = (val); \ + float f = (float)v; \ + if(v < 0) f += 65536.0f; \ + f; \ +}) + +struct CableCarEwramStruct1 { + u8 unk_0000; + u8 unk_0001; + u8 unk_0002; + u8 unk_0003; + u16 unk_0004; + u16 unk_0006; + u8 unk_0008; + u8 unk_0009; + u8 filler_000a[2]; + u8 unk_000c; + u8 unk_000d; + u8 filler_0000e[6]; + u8 unk_0014; + u8 unk_0015; + u8 unk_0016; + u8 unk_0017; + u8 unk_0018; + u8 unk_0019; + u8 unk_001a; + u8 unk_001b; + u8 unk_001c; + u8 unk_001d; + u8 unk_001e; + u8 unk_001f; + u8 unk_0020; + u16 unk_0022[9][12]; + u8 filler_00fa[2]; + u16 unk_00fc[0x20][0x20]; + u16 unk_08fc[0x20][0x20]; +}; // size 0x10FC + +struct CableCarEwramStruct2 { + /* 0x000 */ u16 mtChimneyTilemap[0xb4]; + /* 0x168 */ u16 treeTilemap[0x1e0]; + /* 0x528 */ u16 mountainTilemap[0x258]; + /* 0x9d8 */ u16 pylonStemTilemap[0x628]; // size not actually known +}; + +// Static RAM declarations + +EWRAM_DATA struct CableCarEwramStruct1 *sCableCarPtr = NULL; +EWRAM_DATA u8 gUnknown_02039278 = 0; +EWRAM_DATA u8 gUnknown_02039279 = 0; +EWRAM_DATA u8 gUnknown_0203927A = 0; +EWRAM_DATA u8 gUnknown_0203927B = 0; +EWRAM_DATA u8 gUnknown_0203927C = 0; +EWRAM_DATA u8 gUnknown_0203927D = 0; +EWRAM_DATA u32 filler_02039280 = 0; + +// Static ROM declarations + +static void CableCarMainCallback_Setup(void); +static void CableCarMainCallback_Run(void); +static void sub_8123878(u8 taskId); +static void sub_81239E4(u8 taskId); +static void sub_8123AF8(u8 taskId); +static void CableCarVblankCallback(void); +static void nullsub_76(struct Sprite *sprite); +static void sub_8123CB8(struct Sprite *sprite); +static void sub_8123EB8(struct Sprite *sprite); +static void sub_8123F44(struct Sprite *sprite); +static void sub_8123FBC(u8); +static void LoadSprites(void); +static void sub_812453C(void); +static void sub_8124598(void); +static void sub_81245F4(void); +static void sub_812476C(void); +static void sub_81248AC(u8); + +// .rodata + +static const u8 gCableCarMtChimneyTilemap[] = INCBIN_U8("graphics/misc/cable_car_mt_chimney_map.bin.lz"); + +static const u8 gCableCarTreeTilemap[] = INCBIN_U8("graphics/misc/cable_car_tree_map.bin.lz"); + +static const u8 gCableCarMountainTilemap[] = INCBIN_U8("graphics/misc/cable_car_mountain_map.bin.lz"); + +static const u16 gCableCarPylonHookTilemapEntries[] = { + 0x3000, + 0x3001, + 0x3002, + 0x3003, + 0x3004, + 0x3005, + 0x3006, + 0x3007, + 0x3008, + 0x3009 +}; + +static const u8 gCableCarPylonStemTilemap[] = INCBIN_U8("graphics/misc/cable_car_pylon_stem_map.bin.lz"); + +static const struct CompressedSpriteSheet gUnknown_08401CF8[] = { + { gCableCar_Gfx, 0x800, 1 }, + { gCableCarDoor_Gfx, 0x40, 2 }, + { gCableCarCord_Gfx, 0x80, 3 }, + { } +}; +static const struct SpritePalette gUnknown_08401D18[] = { + { gCableCar_Pal, 1 }, + { } +}; + +static const struct OamData gOamData_8401D28 = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 3, + .priority = 2 +}; + +static const struct OamData gOamData_8401D30 = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .shape = ST_OAM_H_RECTANGLE, + .priority = 2 +}; + +static const struct OamData gOamData_8401D38 = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 1, + .priority = 2 +}; + +static const struct SpriteTemplate gSpriteTemplate_8401D40[] = { + { + 1, + 1, + &gOamData_8401D28, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + sub_8123CB8 + }, { + 2, + 1, + &gOamData_8401D30, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + sub_8123CB8 + }, { + 3, + 1, + &gOamData_8401D38, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + nullsub_76 + } +}; + +// .text + +static void CableCarTask1(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(CableCarMainCallback_Setup); + DestroyTask(taskId); + } +} + +void CableCar(void) +{ + ScriptContext2_Enable(); + CreateTask(CableCarTask1, 1); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); +} + +static void CableCarMainCallback_Setup(void) +{ + u8 i; + u16 imebak; + + switch (gMain.state) + { + case 0: + default: + SetVBlankCallback(NULL); + remove_some_task(); + DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000); + DmaFill32Defvars(3, 0, OAM, OAM_SIZE); + DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE); + sCableCarPtr = eCableCar1; + DmaFill16Large(3, 0, eCableCar1, 0x10FC, 0x1000); + gMain.state++; + break; + case 1: + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + StartWeather(); + for (i = 0; i < 20; i++) + { + gWeatherPtr->sprites.s2.ashSprites[i] = NULL; + } + InitMapMusic(); + ResetMapMusic(); + gSpriteCoordOffsetX = gSpriteCoordOffsetY = 0; + gMain.state++; + break; + case 2: + for (i = 0; i < 3; i++) + { + LoadCompressedObjectPic(&gUnknown_08401CF8[i]); + } + LoadSpritePalettes(gUnknown_08401D18); + LZDecompressWram(gCableCarMtChimneyTilemap, eCableCar2->mtChimneyTilemap); + LZDecompressWram(gCableCarTreeTilemap, eCableCar2->treeTilemap); + LZDecompressWram(gCableCarMountainTilemap, eCableCar2->mountainTilemap); + LZDecompressWram(gCableCarPylonStemTilemap, eCableCar2->pylonStemTilemap); + LoadPalette(gCableCarBG_Pal, 0, 0x80); + LZ77UnCompVram(gCableCarBG_Gfx, (u16 *)BG_VRAM); + gMain.state++; + break; + case 3: + LoadSprites(); + RunTasks(); + gMain.state++; + break; + case 4: + if (sCableCarPtr->unk_0002 == 7) + { + gMain.state++; + } + else if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL) + { + for (i = 0; i < 20; i++) + { + if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) + { + gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0; + } + } + gMain.state++; + } + break; + case 5: + CableCarUtil_CopyWrapped((void *)BG_SCREEN_ADDR(29), eCableCar2->treeTilemap, 0, 17, 32, 15); + CableCarUtil_CopyWrapped((void *)BG_SCREEN_ADDR(30), eCableCar2->mountainTilemap, 0, 0, 30, 20); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, gCableCarPylonHookTilemapEntries, 0, 0, 5, 2); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 20); + gMain.state++; + break; + case 6: + sub_81248AC(gSpecialVar_0x8004); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x48, 0, 14, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x6C, 12, 17, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x90, 24, 20, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 0, 17, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 0, 20, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 12, 20, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 12, 23, 12, 3); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x00, 24, 23, 12, 3); + gMain.state++; + break; + case 7: + BeginNormalPaletteFade(-1, 3, 16, 0, 0); + FadeInNewBGM(BGM_ROPEWAY, 1); + sub_8123FBC(1); + gMain.state++; + break; + case 8: + imebak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imebak; + SetVBlankCallback(CableCarVblankCallback); + SetMainCallback2(CableCarMainCallback_Run); + CreateTask(sub_8123878, 0); + if (gSpecialVar_0x8004 == 0) + { + sCableCarPtr->unk_0000 = CreateTask(sub_81239E4, 1); + } + else + { + sCableCarPtr->unk_0000 = CreateTask(sub_8123AF8, 1); + } + break; + } +} + +static void CableCarMainCallback_Run(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + MapMusicMain(); +} + +static void sub_8123740(void) +{ + u8 i; + + i = 0; + sub_8123FBC(0); + gSpriteCoordOffsetX = 0; + sub_807C9B4(0); + for (; i < 20; i++) + { + gWeatherPtr->sprites.s2.ashSprites[i] = NULL; + } + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + DmaFill32Large(3, 0, gSharedMem, 0x20000, 0x1000); + sCableCarPtr = NULL; + DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000); + DmaFill32Defvars(3, 0, OAM, OAM_SIZE); + DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE); + warp_in(); + gFieldCallback = NULL; + SetMainCallback2(CB2_LoadMap); +} + +static void sub_8123878(u8 taskId) +{ + u8 i; + + i = 0; + sCableCarPtr->unk_0006++; + switch (sCableCarPtr->unk_0001) + { + case 0: + if (sCableCarPtr->unk_0006 == sCableCarPtr->unk_0004) + { + DoWeatherEffect(sCableCarPtr->unk_0002); + sCableCarPtr->unk_0001 = 1; + } + break; + case 1: + switch (sCableCarPtr->unk_0002) + { + case 7: + if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0) + { + for (; i < 20; i++) + { + if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) + { + gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0; + } + } + sCableCarPtr->unk_0001 = 2; + } + break; + case 2: + if (gWeatherPtr->currWeather == 2) + { + sCableCarPtr->unk_0001 = 2; + } + else if (sCableCarPtr->unk_0006 >= sCableCarPtr->unk_0004 + 8) + { + for (; i < 20; i++) + { + if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL) + { + gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= TRUE; + } + } + } + break; + } + break; + case 2: + if (sCableCarPtr->unk_0006 == 570) + { + sCableCarPtr->unk_0001 = 3; + BeginNormalPaletteFade(-1, 3, 0, 16, 0); + FadeOutBGM(4); + } + break; + case 3: + if (!gPaletteFade.active) + { + sCableCarPtr->unk_0001 = 255; + } + break; + case 255: + SetVBlankCallback(NULL); + DestroyTask(taskId); + DestroyTask(sCableCarPtr->unk_0000); + SetMainCallback2(sub_8123740); + break; + } +} + +static void sub_81239E4(u8 taskId) +{ + if (sCableCarPtr->unk_0001 != 255) + { + sCableCarPtr->unk_0014--; + if ((sCableCarPtr->unk_0006 % 2) == 0) + { + sCableCarPtr->unk_0015--; + } + if ((sCableCarPtr->unk_0006 % 8) == 0) + { + sCableCarPtr->unk_000c--; + sCableCarPtr->unk_000d--; + } + switch (sCableCarPtr->unk_0014) + { + case 175: + CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 0, 22, 2, 10); + break; + case 40: + CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 3, 0, 2, 2); + break; + case 32: + CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 2, 0, 1, 2); + break; + case 16: + CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, gCableCarPylonHookTilemapEntries, 0, 0, 5, 2); + CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 30); + sCableCarPtr->unk_0015 = 64; + break; + } + } + sub_812453C(); + gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 1) % 128; +} + +static void sub_8123AF8(u8 taskId) +{ + if (sCableCarPtr->unk_0001 != 255) + { + sCableCarPtr->unk_0014++; + if ((sCableCarPtr->unk_0006 % 2) == 0) + { + sCableCarPtr->unk_0015++; + } + if ((sCableCarPtr->unk_0006 % 8) == 0) + { + sCableCarPtr->unk_000c++; + sCableCarPtr->unk_000d++; + } + switch (sCableCarPtr->unk_0014) + { + case 176: + CableCarUtil_CopyWrapped(sCableCarPtr->unk_08fc, eCableCar2->pylonStemTilemap, 0, 2, 2, 30); + break; + case 16: + CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 2, 0, 3, 2); + CableCarUtil_FillWrapped(sCableCarPtr->unk_08fc, 0, 0, 22, 2, 10); + sCableCarPtr->unk_0015 = 192; + break; + case 32: + sCableCarPtr->unk_08fc[0][2] = (gCableCarPylonHookTilemapEntries + 2)[0]; + sCableCarPtr->unk_08fc[0][3] = (gCableCarPylonHookTilemapEntries + 2)[1]; + sCableCarPtr->unk_08fc[1][2] = (gCableCarPylonHookTilemapEntries + 2)[5]; + sCableCarPtr->unk_08fc[1][3] = (gCableCarPylonHookTilemapEntries + 2)[6]; + break; + case 40: + sCableCarPtr->unk_08fc[0][4] = (gCableCarPylonHookTilemapEntries + 4)[0]; + sCableCarPtr->unk_08fc[1][4] = (gCableCarPylonHookTilemapEntries + 4)[5]; + break; + } + } + sub_8124598(); + if (sCableCarPtr->unk_0006 < sCableCarPtr->unk_0004) { + gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 247) % 248; + } + else + { + gWeatherPtr->unknown_6FC = (gWeatherPtr->unknown_6FC + 247) % 248; + } +} + +static void CableCarVblankCallback(void) +{ + DmaCopy16(3, sCableCarPtr->unk_00fc, BG_SCREEN_ADDR(28), 0x800); + DmaCopy16(3, sCableCarPtr->unk_08fc, BG_SCREEN_ADDR(31), 0x800); + REG_BG3HOFS = sCableCarPtr->unk_0014; + REG_BG3VOFS = sCableCarPtr->unk_0015; + REG_BG1HOFS = sCableCarPtr->unk_000c; + REG_BG1VOFS = sCableCarPtr->unk_000d; + REG_BG0HOFS = sCableCarPtr->unk_0008; + REG_BG0VOFS = sCableCarPtr->unk_0009; + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void nullsub_76(struct Sprite *sprite) +{ + +} + +static void sub_8123CB8(struct Sprite *sprite) +{ + if (sCableCarPtr->unk_0001 != 255) + { + if (gSpecialVar_0x8004 == 0) + { + sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + } + else + { + sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + } + } +} + +static void sub_8123D98(struct Sprite *sprite) +{ + if (sCableCarPtr->unk_0001 != 255) + { + if (gSpecialVar_0x8004 == 0) + { + sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + } + else + { + sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCarPtr->unk_0006)); + } + switch (sprite->data[2]) + { + case 0: + sprite->pos2.y = 17; + if (sprite->data[3] ++ > 9) + { + sprite->data[3] = 0; + sprite->data[2] ++; + } + break; + default: + sprite->pos2.y = 16; + if (sprite->data[3] ++ > 9) + { + sprite->data[3] = 0; + sprite->data[2] = 0; + } + break; + } + } +} + +static void sub_8123EB8(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.x += 2 * sprite->centerToCornerVecX; + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + } + if (++sprite->data[0] >= sprite->data[2]) + { + switch (sprite->data[1]) + { + case 0: + sprite->pos1.x++; + if ((sprite->data[0] % 4) == 0) + { + sprite->pos1.y++; + } + break; + case 1: + if ((sprite->data[0] % 2) != 0) + { + sprite->pos1.x++; + if ((sprite->pos1.x % 4) == 0) + { + sprite->pos1.y++; + } + } + break; + } + if (sprite->pos1.y > 0xa0) + { + DestroySprite(sprite); + } + } +} + +static void sub_8123F44(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + } + if (++sprite->data[0] >= sprite->data[2]) + { + switch (sprite->data[1]) + { + case 0: + sprite->pos1.x--; + if ((sprite->data[0] % 4) == 0) + { + sprite->pos1.y--; + } + break; + case 1: + if ((sprite->data[0] % 2) != 0) + { + sprite->pos1.x--; + if ((sprite->pos1.x % 4) == 0) + { + sprite->pos1.y--; + } + } + break; + } + if (sprite->pos1.y < 0x50) + { + DestroySprite(sprite); + } + } +} + +static void sub_8123FBC(bool8 which) +{ + switch (which) + { + case FALSE: + default: + REG_WININ = 0; + REG_WINOUT = 0; + REG_WIN0H = 0; + REG_WIN1H = 0; + REG_WIN0V = 0; + REG_WIN1V = 0; + REG_DISPCNT = 0; + REG_BG3CNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BLDCNT = 0; + break; + case TRUE: + REG_WININ = 0; + REG_WINOUT = 0; + REG_WIN0H = 0; + REG_WIN1H = 0; + REG_WIN0V = 0; + REG_WIN1V = 0; + if (gSpecialVar_0x8004 == 0) + { + sCableCarPtr->unk_0014 = 0xb0; + sCableCarPtr->unk_0015 = 0x10; + sCableCarPtr->unk_000c = 0x00; + sCableCarPtr->unk_000d = 0x50; + sCableCarPtr->unk_0009 = 0; + sCableCarPtr->unk_0009 = 0; + } + else + { + sCableCarPtr->unk_0014 = 0x60; + sCableCarPtr->unk_0015 = 0xe8; + sCableCarPtr->unk_000c = 0x00; + sCableCarPtr->unk_000d = 0x04; + sCableCarPtr->unk_0009 = 0; + sCableCarPtr->unk_0009 = 0; + } + REG_BG3HOFS = sCableCarPtr->unk_0014; + REG_BG3VOFS = sCableCarPtr->unk_0015; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = sCableCarPtr->unk_000c; + REG_BG1VOFS = sCableCarPtr->unk_000d; + REG_BG0HOFS = sCableCarPtr->unk_0008; + REG_BG0VOFS = sCableCarPtr->unk_0009; + REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(28) | BGCNT_WRAP; + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(29) | BGCNT_WRAP; + REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(30) | BGCNT_WRAP; + REG_BG3CNT = BGCNT_PRIORITY(0) | BGCNT_SCREENBASE(31) | BGCNT_WRAP; + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; + REG_BLDCNT = 0x3f00; + break; + } +} + +static void LoadSprites(void) +{ + u8 spriteId; + u8 i; + + u8 playerGraphicsIds[2] = { + MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, + MAP_OBJ_GFX_RIVAL_MAY_NORMAL + }; + u16 rval = Random(); + u8 hikerGraphicsIds[4] = { + MAP_OBJ_GFX_HIKER, + MAP_OBJ_GFX_CAMPER, + MAP_OBJ_GFX_PICNICKER, + MAP_OBJ_GFX_POOCHYENA + }; + s16 hikerCoords[2][2] = { + { 0, 80 }, + { 240, 146 } + }; + u8 hikerMovementDelayTable[4] = { + 0, + 60, + 120, + 170 + }; + void (*callbacks[2])(struct Sprite *) = { + sub_8123EB8, + sub_8123F44 + }; + + switch (gSpecialVar_0x8004) + { + case 0: + default: + spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0xc8, 0x49, 0x66); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].pos2.x = 0x08; + gSprites[spriteId].pos2.y = 0x10; + gSprites[spriteId].data[0] = 0xc8; + gSprites[spriteId].data[1] = 0x49; + } + spriteId = CreateSprite(&gSpriteTemplate_8401D40[0], 0xb0, 0x2b, 0x67); + gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 0x20; + gSprites[spriteId].data[0] = 0xb0; + gSprites[spriteId].data[1] = 0x2b; + spriteId = CreateSprite(&gSpriteTemplate_8401D40[1], 0xc8, 0x63, 0x65); + gSprites[spriteId].pos2.x = 8; + gSprites[spriteId].pos2.y = 4; + gSprites[spriteId].data[0] = 0xc8; + gSprites[spriteId].data[1] = 0x63; + sCableCarPtr->unk_0002 = 7; + sCableCarPtr->unk_0004 = 0x15e; + sub_807C9B4(2); + break; + case 1: + CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 0x18, 0x1a, 0x0c, 0x03); + spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0x80, 0x27, 0x66); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].pos2.x = 0x08; + gSprites[spriteId].pos2.y = 0x10; + gSprites[spriteId].data[0] = 0x80; + gSprites[spriteId].data[1] = 0x27; + } + spriteId = CreateSprite(&gSpriteTemplate_8401D40[0], 0x68, 0x09, 0x67); + gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 0x20; + gSprites[spriteId].data[0] = 0x68; + gSprites[spriteId].data[1] = 0x09; + spriteId = CreateSprite(&gSpriteTemplate_8401D40[1], 0x80, 0x41, 0x65); + gSprites[spriteId].pos2.x = 8; + gSprites[spriteId].pos2.y = 4; + gSprites[spriteId].data[0] = 0x80; + gSprites[spriteId].data[1] = 0x41; + sCableCarPtr->unk_0002 = 2; + sCableCarPtr->unk_0004 = 0x109; + sub_807C9B4(7); + break; + } + for (i = 0; i < 9; i++) + { + spriteId = CreateSprite(&gSpriteTemplate_8401D40[2], 16 * i + 0x60, 8 * i - 8, 0x68); + gSprites[spriteId].pos2.x = 8; + gSprites[spriteId].pos2.y = 8; + } + if ((rval % 64) == 0) + { + spriteId = AddPseudoFieldObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].pos2.x = -gSprites[spriteId].centerToCornerVecX; + gSprites[spriteId].pos2.y = -gSprites[spriteId].centerToCornerVecY; + if (gSpecialVar_0x8004 == 0) + { + if (rval % 2) + { + StartSpriteAnim(&gSprites[spriteId], 6); + gSprites[spriteId].data[1] = 1; + gSprites[spriteId].pos1.y += 2; + } + else + { + StartSpriteAnim(&gSprites[spriteId], 7); + gSprites[spriteId].data[1] = 0; + } + } + else + { + if (rval % 2) + { + StartSpriteAnim(&gSprites[spriteId], 7); + gSprites[spriteId].data[1] = 1; + gSprites[spriteId].pos1.y += 2; + } + else + { + StartSpriteAnim(&gSprites[spriteId], 6); + gSprites[spriteId].data[1] = 0; + } + } + gSprites[spriteId].data[2] = hikerMovementDelayTable[rval % 4]; + } + } +} + +static void sub_812446C(void) +{ + u8 i; + u8 j; + u8 k; + u8 offset; + + for (i = 0, k = 0, offset = 0x24 * (sCableCarPtr->unk_001b + 2); i < 3; i++) + { + for (j = 0; j < 12; j++) + { + sCableCarPtr->unk_0022[i][j] = *(eCableCar2->mtChimneyTilemap + (offset++)); + sCableCarPtr->unk_0022[i + 3][j] = eCableCar2->mtChimneyTilemap[k]; + sCableCarPtr->unk_0022[i + 6][j] = (eCableCar2->mtChimneyTilemap + 0x24)[k]; + k++; + } + } + sCableCarPtr->unk_001b = (sCableCarPtr->unk_001b + 1) % 3; +} + +static void sub_812453C(void) +{ + sCableCarPtr->unk_001c = (sCableCarPtr->unk_001c + 1) % 0x60; + sCableCarPtr->unk_0008 = sCableCarPtr->unk_001f - sCableCarPtr->unk_001d; + sCableCarPtr->unk_0009 = sCableCarPtr->unk_0020 - sCableCarPtr->unk_001e; + sCableCarPtr->unk_001d++; + if ((sCableCarPtr->unk_001d % 4) == 0) + { + sCableCarPtr->unk_001e++; + } + if (sCableCarPtr->unk_001d > 16) + { + sub_81245F4(); + } +} + +static void sub_8124598(void) +{ + sCableCarPtr->unk_001c = (sCableCarPtr->unk_001c + 1) % 0x60; + sCableCarPtr->unk_0008 = sCableCarPtr->unk_001f + sCableCarPtr->unk_001d; + sCableCarPtr->unk_0009 = sCableCarPtr->unk_0020 + sCableCarPtr->unk_001e; + sCableCarPtr->unk_001d++; + if ((sCableCarPtr->unk_001d % 4) == 0) + { + sCableCarPtr->unk_001e++; + } + if (sCableCarPtr->unk_001d > 16) + { + sub_812476C(); + } +} + +static void sub_81245F4(void) +{ + u8 i = 0; + + sCableCarPtr->unk_001d = sCableCarPtr->unk_001e = 0; + sCableCarPtr->unk_001f = sCableCarPtr->unk_0008; + sCableCarPtr->unk_0020 = sCableCarPtr->unk_0009; + sCableCarPtr->unk_0019 = (sCableCarPtr->unk_0019 + 30) % 32; + sCableCarPtr->unk_0018 -= 2; + gUnknown_0203927A = (sCableCarPtr->unk_001a + 23) % 32; + for (i = 0; i < 9; i++) + { + gUnknown_02039278 = sCableCarPtr->unk_0019; + gUnknown_02039279 = (gUnknown_0203927A + i) % 32; + sCableCarPtr->unk_00fc[gUnknown_02039279][gUnknown_02039278] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018]; + gUnknown_02039278 = (gUnknown_02039278 + 1) % 32; + sCableCarPtr->unk_00fc[gUnknown_02039279][gUnknown_02039278] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018 + 1]; + } + gUnknown_02039278 = (sCableCarPtr->unk_0019 + 30) % 32; + CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, gUnknown_02039278, 0, 2, 32); + if (sCableCarPtr->unk_0018 == 0) + { + sCableCarPtr->unk_001a = (sCableCarPtr->unk_001a + 29) % 32; + sCableCarPtr->unk_0018 = 12; + sub_812446C(); + gUnknown_02039278 = (sCableCarPtr->unk_001a + 1) % 32; + CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, 0, gUnknown_02039278, 32, 9); + } +} + +static void sub_812476C(void) +{ + u8 i = 0; + + sCableCarPtr->unk_001d = sCableCarPtr->unk_001e = 0; + sCableCarPtr->unk_001f = sCableCarPtr->unk_0008; + sCableCarPtr->unk_0020 = sCableCarPtr->unk_0009; + sCableCarPtr->unk_0019 = (sCableCarPtr->unk_0019 + 2) % 32; + sCableCarPtr->unk_0018 += 2; + gUnknown_0203927D = sCableCarPtr->unk_001a; + for (i = 0; i < 9; i++) + { + gUnknown_0203927B = sCableCarPtr->unk_0019; + gUnknown_0203927C = (gUnknown_0203927D + i) % 32; + sCableCarPtr->unk_00fc[gUnknown_0203927C][gUnknown_0203927B] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018]; + gUnknown_0203927B = (gUnknown_0203927B + 1) % 32; + sCableCarPtr->unk_00fc[gUnknown_0203927C][gUnknown_0203927B] = sCableCarPtr->unk_0022[i][sCableCarPtr->unk_0018 + 1]; + } + gUnknown_0203927C = (sCableCarPtr->unk_001a + 23) % 32; + CableCarUtil_FillWrapped(sCableCarPtr->unk_00fc, 0, sCableCarPtr->unk_0019, gUnknown_0203927C, 2, 9); + if (sCableCarPtr->unk_0018 == 10) + { + sCableCarPtr->unk_001a = (sCableCarPtr->unk_001a + 3) % 32; + sCableCarPtr->unk_0018 = 0xfe; + sub_812446C(); + } +} + +static void sub_81248AC(u8 a0) +{ + switch (a0) + { + case 0: + default: + sCableCarPtr->unk_001b = 2; + sCableCarPtr->unk_0019 = 0; + sCableCarPtr->unk_001a = 20; + sCableCarPtr->unk_0018 = 12; + sub_812446C(); + sub_81245F4(); + break; + case 1: + sCableCarPtr->unk_001b = 2; + sCableCarPtr->unk_0019 = 28; + sCableCarPtr->unk_001a = 20; + sCableCarPtr->unk_0018 = 4; + sub_812446C(); + sub_812476C(); + break; + } + sCableCarPtr->unk_001c = 0; +} diff --git a/src/unknown_task.c b/src/unknown_task.c index c9ba95d42..62245502a 100644 --- a/src/unknown_task.c +++ b/src/unknown_task.c @@ -20,6 +20,7 @@ extern u8 gUnknown_0202FFA4; extern struct UnknownTaskStruct2 gUnknown_03004DC0; +// Is this a struct? extern u16 gUnknown_03004DE0[][0x3C0]; void remove_some_task(void) diff --git a/sym_bss.txt b/sym_bss.txt index ff3b3de01..6e96a604c 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -25,7 +25,7 @@ .include "src/engine/record_mixing.o" .include "src/field/tv.o" .include "src/battle/battle_anim_80CA710.o" - .include "src/field/easy_chat.o" + .include "src/easy_chat_2.o" .include "src/pokenav_before.o" .include "src/field/mauville_man.o" .include "src/field/menu_helpers.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index 6f7be47c1..cffa8396d 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -580,31 +580,7 @@ gAbilitiesPerBank: @ 203926C .space 0x4 .include "src/field/choose_party.o" - -@ cable_car - - .align 2 -gUnknown_02039274: @ 2039274 - .space 0x4 - -gUnknown_02039278: @ 2039278 - .space 0x1 - -gUnknown_02039279: @ 2039279 - .space 0x1 - -gUnknown_0203927A: @ 203927A - .space 0x1 - -gUnknown_0203927B: @ 203927B - .space 0x1 - -gUnknown_0203927C: @ 203927C - .space 0x1 - -gUnknown_0203927D: @ 203927D - .space 0x7 - + .include "src/scene/cable_car.o" .include "src/engine/save.o" .include "src/engine/mystery_event_script.o" .include "src/field/roamer.o" |