diff options
94 files changed, 3067 insertions, 2931 deletions
diff --git a/.gitattributes b/.gitattributes index 7c8d2699d..b447e32c3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13,3 +13,6 @@ Makefile text eol=lf *.png binary *.bin binary + +*.h linguist-language=C +*.inc linguist-language=Assembly diff --git a/asm/credits.s b/asm/credits.s index fe9a93668..4c6f9d5d8 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -6,447 +6,6 @@ .text - thumb_func_start sub_81441B8 -sub_81441B8: @ 81441B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081441E4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0xA - bhi _08144218 - lsls r0, 2 - ldr r1, _081441E8 @ =_081441EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081441E4: .4byte gTasks -_081441E8: .4byte _081441EC - .align 2, 0 -_081441EC: - .4byte _08144218 - .4byte _08144258 - .4byte _08144278 - .4byte _08144358 - .4byte _0814438C - .4byte _081443F8 - .4byte _08144218 - .4byte _08144218 - .4byte _08144218 - .4byte _08144218 - .4byte _08144428 -_08144218: - ldr r0, _08144250 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0814422A - b _08144446 -_0814422A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x8] - movs r1, 0x58 - strh r1, [r0, 0xE] - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r2, [r0, 0x24] - ldr r0, _08144254 @ =gUnknown_02039320 - strh r2, [r0] - b _08144446 - .align 2, 0 -_08144250: .4byte gPaletteFade -_08144254: .4byte gUnknown_02039320 -_08144258: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08144270 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _08144446 -_08144270: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08144446 -_08144278: - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _08144320 @ =0x0000feff - ands r0, r1 - strh r0, [r2] - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r3, r0, r6 - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r4, r0, r6 - ldr r1, [r4] - ldr r0, _08144324 @ =sub_8143B68 - mov r8, r2 - cmp r1, r0 - bne _08144352 - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0x33 - bgt _0814434C - movs r4, 0 - ldr r7, _08144328 @ =gCreditsEntryPointerTable - adds r6, r3, 0 -_081442B0: - movs r2, 0xC - ldrsh r1, [r6, r2] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r4 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsls r2, r4, 25 - movs r3, 0x90 - lsls r3, 20 - adds r2, r3 - lsrs r2, 24 - movs r1, 0 - movs r3, 0xF0 - bl sub_8072BD8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081442B0 - ldr r3, _0814432C @ =gTasks - mov r0, r8 - adds r1, r0, r5 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xA - ldrsh r2, [r1, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r3 - movs r2, 0x1 - strh r2, [r0, 0x24] - movs r2, 0xA - ldrsh r1, [r1, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08144334 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _08144330 @ =0x0000328d - b _0814433A - .align 2, 0 -_08144320: .4byte 0x0000feff -_08144324: .4byte sub_8143B68 -_08144328: .4byte gCreditsEntryPointerTable -_0814432C: .4byte gTasks -_08144330: .4byte 0x0000328d -_08144334: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _08144348 @ =0x00001967 -_0814433A: - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08144446 - .align 2, 0 -_08144348: .4byte 0x00001967 -_0814434C: - movs r0, 0xA - strh r0, [r3, 0x8] - b _08144446 -_08144352: - movs r0, 0 - strh r0, [r4, 0x24] - b _08144446 -_08144358: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08144388 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144446 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x82 - strh r1, [r0, 0xE] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _08144446 - .align 2, 0 -_08144388: .4byte gPaletteFade -_0814438C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081443A4 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08144446 -_081443A4: - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xA] - bl sub_8144454 - lsls r0, 24 - cmp r0, 0 - beq _081443BA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08144446 -_081443BA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r3, 0xA - ldrsh r1, [r4, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _081443E0 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _081443DC @ =0x0000328d - b _081443E6 - .align 2, 0 -_081443DC: .4byte 0x0000328d -_081443E0: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _081443F4 @ =0x00001967 -_081443E6: - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08144446 - .align 2, 0 -_081443F4: .4byte 0x00001967 -_081443F8: - ldr r0, _08144420 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144446 - movs r0, 0 - movs r1, 0x9 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _08144424 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - b _08144446 - .align 2, 0 -_08144420: .4byte gPaletteFade -_08144424: .4byte gTasks -_08144428: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x10] - adds r0, r5, 0 - bl DestroyTask -_08144446: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81441B8 - - thumb_func_start sub_8144454 -sub_8144454: @ 8144454 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - lsls r1, 24 - lsrs r2, r1, 24 - adds r5, r2, 0 - ldr r4, _08144508 @ =gTasks - cmp r3, 0x6 - bne _08144474 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_08144474: - cmp r3, 0xC - bne _08144486 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x16] - strh r1, [r0, 0x1E] -_08144486: - cmp r3, 0x12 - bne _08144496 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_08144496: - cmp r3, 0x18 - bne _081444AA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444AA: - cmp r3, 0x1E - bne _081444BA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081444BA: - cmp r3, 0x23 - bne _081444CE - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x3 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444CE: - cmp r3, 0x28 - bne _081444DE - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081444DE: - cmp r6, 0x2E - bne _081444F2 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x4 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444F2: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0814450C - movs r0, 0 - b _0814450E - .align 2, 0 -_08144508: .4byte gTasks -_0814450C: - movs r0, 0x1 -_0814450E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144454 - thumb_func_start sub_8144514 sub_8144514: @ 8144514 push {r4-r7,lr} diff --git a/asm/daycare.s b/asm/daycare.s index 80e7c46e8..d78757d8f 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -6,70 +6,6 @@ .text - thumb_func_start pokemon_get_nick -pokemon_get_nick: @ 80412B0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end pokemon_get_nick - - thumb_func_start pokemon_get_nick_ -pokemon_get_nick_: @ 80412D0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetBoxMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end pokemon_get_nick_ - - thumb_func_start daycare_count_pokemon -daycare_count_pokemon: @ 80412F0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_080412F8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08041310 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08041310: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _080412F8 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end daycare_count_pokemon - thumb_func_start sub_8041324 sub_8041324: @ 8041324 push {r4-r7,lr} diff --git a/asm/mon_markings.s b/asm/mon_markings.s index 6d5322b91..28bc116a9 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -560,7 +560,7 @@ sub_80F761C: @ 80F761C add r2, sp, 0x54 ldrh r2, [r2] strh r2, [r4, 0x2] - ldr r0, _080F782C @ =gUnknown_083E5214 + ldr r0, _080F782C @ =gOamData_83E5214 str r0, [r4, 0x4] ldr r0, _080F7830 @ =gSpriteAnimTable_83E52AC str r0, [r4, 0x8] @@ -640,7 +640,7 @@ _080F7718: str r0, [r4, 0x8] ldr r0, _080F7844 @ =sub_80F78CC str r0, [r4, 0x14] - ldr r0, _080F7848 @ =gUnknown_083E521C + ldr r0, _080F7848 @ =gOamData_83E521C str r0, [r4, 0x4] movs r5, 0 ldr r0, [sp, 0x58] @@ -736,14 +736,14 @@ _080F7770: _080F7820: .4byte gUnknown_020388B8 _080F7824: .4byte gPokenavConditionMenuMisc_Gfx _080F7828: .4byte gUnknown_08E966B8 -_080F782C: .4byte gUnknown_083E5214 +_080F782C: .4byte gOamData_83E5214 _080F7830: .4byte gSpriteAnimTable_83E52AC _080F7834: .4byte gDummySpriteAffineAnimTable _080F7838: .4byte nullsub_65 _080F783C: .4byte gSprites _080F7840: .4byte gSpriteAnimTable_83E5274 _080F7844: .4byte sub_80F78CC -_080F7848: .4byte gUnknown_083E521C +_080F7848: .4byte gOamData_83E521C _080F784C: .4byte SpriteCallbackDummy _080F7850: ldr r0, _080F785C @ =gUnknown_020388B8 @@ -927,7 +927,7 @@ sub_80F7960: @ 80F7960 movs r2, 0 strh r6, [r0] strh r1, [r0, 0x2] - ldr r0, _080F79E4 @ =gUnknown_083E52B4 + ldr r0, _080F79E4 @ =gOamData_83E52B4 str r0, [sp, 0x4] ldr r0, _080F79E8 @ =gSpriteAnimTable_83E533C str r0, [sp, 0x8] @@ -961,7 +961,7 @@ sub_80F7960: @ 80F7960 .align 2, 0 _080F79DC: .4byte gUnknown_083E4A14 _080F79E0: .4byte 0xffff0000 -_080F79E4: .4byte gUnknown_083E52B4 +_080F79E4: .4byte gOamData_83E52B4 _080F79E8: .4byte gSpriteAnimTable_83E533C _080F79EC: .4byte gDummySpriteAffineAnimTable _080F79F0: .4byte nullsub_65 diff --git a/asm/naming_screen.s b/asm/naming_screen.s index 76ee536c7..aeec1b4bc 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -2253,7 +2253,7 @@ sub_80B6A80: @ 80B6A80 lsls r4, 2 ldr r5, _080B6B00 @ =gSprites adds r4, r5 - ldr r1, _080B6B04 @ =gUnknown_083CE558 + ldr r1, _080B6B04 @ =gSubspriteTables_83CE558 adds r0, r4, 0 bl SetSubspriteTables ldr r0, _080B6B08 @ =gSpriteTemplate_83CE5F8 @@ -2268,7 +2268,7 @@ sub_80B6A80: @ 80B6A80 adds r2, r0 lsls r2, 2 adds r2, r5 - ldr r1, _080B6B0C @ =gUnknown_083CE560 + ldr r1, _080B6B0C @ =gSubspriteTables_83CE560 adds r0, r2, 0 bl SetSubspriteTables ldr r0, _080B6B10 @ =gSpriteTemplate_83CE5E0 @@ -2297,9 +2297,9 @@ sub_80B6A80: @ 80B6A80 _080B6AF8: .4byte gSpriteTemplate_83CE5C8 _080B6AFC: .4byte 0x02000000 _080B6B00: .4byte gSprites -_080B6B04: .4byte gUnknown_083CE558 +_080B6B04: .4byte gSubspriteTables_83CE558 _080B6B08: .4byte gSpriteTemplate_83CE5F8 -_080B6B0C: .4byte gUnknown_083CE560 +_080B6B0C: .4byte gSubspriteTables_83CE560 _080B6B10: .4byte gSpriteTemplate_83CE5E0 thumb_func_end sub_80B6A80 @@ -2541,7 +2541,7 @@ sub_80B6CA8: @ 80B6CA8 lsls r0, 2 ldr r4, _080B6CF8 @ =gSprites adds r0, r4 - ldr r5, _080B6CFC @ =gUnknown_083CE578 + ldr r5, _080B6CFC @ =gSubspriteTables_83CE578 adds r1, r5, 0 bl SetSubspriteTables ldr r0, _080B6D00 @ =gSpriteTemplate_83CE628 @@ -2564,7 +2564,7 @@ sub_80B6CA8: @ 80B6CA8 .align 2, 0 _080B6CF4: .4byte gSpriteTemplate_83CE610 _080B6CF8: .4byte gSprites -_080B6CFC: .4byte gUnknown_083CE578 +_080B6CFC: .4byte gSubspriteTables_83CE578 _080B6D00: .4byte gSpriteTemplate_83CE628 thumb_func_end sub_80B6CA8 @@ -2816,7 +2816,7 @@ sub_80B6EBC: @ 80B6EBC lsls r4, 2 ldr r0, _080B6EF4 @ =gSprites adds r4, r0 - ldr r1, _080B6EF8 @ =gUnknown_083CE580 + ldr r1, _080B6EF8 @ =gSubspriteTables_83CE580 adds r0, r4, 0 bl SetSubspriteTables ldrb r0, [r4, 0x5] @@ -2829,7 +2829,7 @@ sub_80B6EBC: @ 80B6EBC .align 2, 0 _080B6EF0: .4byte gSpriteTemplate_83CE688 _080B6EF4: .4byte gSprites -_080B6EF8: .4byte gUnknown_083CE580 +_080B6EF8: .4byte gSubspriteTables_83CE580 thumb_func_end sub_80B6EBC thumb_func_start sub_80B6EFC diff --git a/asm/pokeblock.s b/asm/pokeblock.s index d39a4b3ca..55bc29dc5 100644 --- a/asm/pokeblock.s +++ b/asm/pokeblock.s @@ -2280,7 +2280,7 @@ _0810C8F2: movs r1, 0x1 orrs r0, r1 strb r0, [r4, 0x1] - ldr r0, _0810C914 @ =gUnknown_083F7F70 + ldr r0, _0810C914 @ =gSpriteAffineAnimTable_83F7F70 str r0, [r4, 0x10] adds r0, r4, 0 bl InitSpriteAffineAnim @@ -2289,7 +2289,7 @@ _0810C8F2: strh r5, [r4, 0x30] b _0810C944 .align 2, 0 -_0810C914: .4byte gUnknown_083F7F70 +_0810C914: .4byte gSpriteAffineAnimTable_83F7F70 _0810C918: ldrh r0, [r4, 0x30] adds r0, 0x1 diff --git a/asm/pokenav.s b/asm/pokenav.s index 49d627336..966285ab3 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -12455,7 +12455,7 @@ _080F1F4A: movs r1, 0x3 orrs r0, r1 strb r0, [r4, 0x1] - ldr r0, _080F1FB0 @ =gUnknown_083E4450 + ldr r0, _080F1FB0 @ =gSpriteAffineAnimTable_83E4450 str r0, [r4, 0x10] adds r0, r4, 0 bl InitSpriteAffineAnim @@ -12489,7 +12489,7 @@ _080F1F4A: b _080F1FE4 .align 2, 0 _080F1FAC: .4byte 0x00006dad -_080F1FB0: .4byte gUnknown_083E4450 +_080F1FB0: .4byte gSpriteAffineAnimTable_83E4450 _080F1FB4: .4byte sub_80F2240 _080F1FB8: .4byte gUnknown_083DFEC4 _080F1FBC: .4byte 0x0000030f diff --git a/asm/porthole.s b/asm/porthole.s deleted file mode 100644 index 5936433e6..000000000 --- a/asm/porthole.s +++ /dev/null @@ -1,297 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C7754 -sub_80C7754: @ 80C7754 - push {r4-r6,lr} - sub sp, 0xC - mov r4, sp - adds r4, 0x5 - mov r5, sp - adds r5, 0x6 - add r6, sp, 0x8 - add r0, sp, 0x4 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_810D9EC - lsls r0, 24 - cmp r0, 0 - bne _080C7796 - add r0, sp, 0x4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - movs r2, 0x1 - negs r2, r2 - movs r3, 0 - ldrsb r3, [r5, r3] - movs r4, 0 - ldrsb r4, [r6, r4] - str r4, [sp] - bl warp1_set - movs r0, 0x1 - b _080C7798 -_080C7796: - movs r0, 0 -_080C7798: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C7754 - - thumb_func_start sub_80C77A0 -sub_80C77A0: @ 80C77A0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080C77CC @ =gTasks + 0x8 - adds r4, r0, r1 - ldr r0, _080C77D0 @ =0x000040b4 - bl GetVarPointer - adds r6, r0, 0 - ldr r7, _080C77D4 @ =gSaveBlock1 + 0x4 - movs r0, 0 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080C77FC - cmp r2, 0x1 - bgt _080C77D8 - cmp r2, 0 - beq _080C77E2 - b _080C7896 - .align 2, 0 -_080C77CC: .4byte gTasks + 0x8 -_080C77D0: .4byte 0x000040b4 -_080C77D4: .4byte gSaveBlock1 + 0x4 -_080C77D8: - cmp r2, 0x2 - beq _080C783E - cmp r2, 0x3 - beq _080C7878 - b _080C7896 -_080C77E2: - ldr r0, _080C77F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C7896 - strh r2, [r4, 0x2] - movs r0, 0x2 - strh r0, [r4] - b _080C7896 - .align 2, 0 -_080C77F8: .4byte gPaletteFade -_080C77FC: - ldr r0, _080C7830 @ =gMain - ldrh r1, [r0, 0x2E] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C780A - strh r2, [r4, 0x2] -_080C780A: - ldrb r1, [r7, 0x1] - ldrb r2, [r7] - movs r0, 0xFF - bl sub_80A212C - lsls r0, 24 - cmp r0, 0 - beq _080C7896 - movs r0, 0x1 - bl sub_810D9B0 - cmp r0, 0x1 - bne _080C783A - ldrh r0, [r6] - cmp r0, 0x2 - bne _080C7834 - movs r0, 0x9 - b _080C7836 - .align 2, 0 -_080C7830: .4byte gMain -_080C7834: - movs r0, 0xA -_080C7836: - strh r0, [r6] - b _080C7846 -_080C783A: - movs r0, 0x2 - strh r0, [r4] -_080C783E: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080C784C -_080C7846: - movs r0, 0x3 - strh r0, [r4] - b _080C7896 -_080C784C: - ldrh r0, [r6] - cmp r0, 0x2 - bne _080C7860 - ldrb r1, [r7, 0x1] - ldrb r2, [r7] - ldr r3, _080C785C @ =gUnknown_083D295F - b _080C7866 - .align 2, 0 -_080C785C: .4byte gUnknown_083D295F -_080C7860: - ldrb r1, [r7, 0x1] - ldrb r2, [r7] - ldr r3, _080C7874 @ =gUnknown_083D2961 -_080C7866: - movs r0, 0xFF - bl exec_movement - movs r0, 0x1 - strh r0, [r4] - b _080C7896 - .align 2, 0 -_080C7874: .4byte gUnknown_083D2961 -_080C7878: - ldr r0, _080C789C @ =0x00004001 - bl FlagReset - movs r0, 0x80 - lsls r0, 7 - bl FlagReset - movs r0, 0 - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - bl sp13E_warp_to_last_warp - adds r0, r5, 0 - bl DestroyTask -_080C7896: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C789C: .4byte 0x00004001 - thumb_func_end sub_80C77A0 - - thumb_func_start sub_80C78A0 -sub_80C78A0: @ 80C78A0 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080C78F4 @ =SpriteCallbackDummy - movs r0, 0 - str r0, [sp] - movs r0, 0x8C - movs r2, 0x70 - movs r3, 0x50 - bl AddPseudoFieldObject - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C78F8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _080C78FC @ =0x000040b4 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _080C7900 - movs r0, 0x4 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - b _080C7912 - .align 2, 0 -_080C78F4: .4byte SpriteCallbackDummy -_080C78F8: .4byte gSprites -_080C78FC: .4byte 0x000040b4 -_080C7900: - movs r0, 0x3 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080C7912: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C78A0 - - thumb_func_start sub_80C791C -sub_80C791C: @ 80C791C - push {lr} - bl sub_80C78A0 - ldr r2, _080C794C @ =gMapObjects - ldr r0, _080C7950 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - bl pal_fill_black - ldr r0, _080C7954 @ =sub_80C77A0 - movs r1, 0x50 - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_080C794C: .4byte gMapObjects -_080C7950: .4byte gPlayerAvatar -_080C7954: .4byte sub_80C77A0 - thumb_func_end sub_80C791C - - thumb_func_start sub_80C7958 -sub_80C7958: @ 80C7958 - push {lr} - ldr r0, _080C7990 @ =0x0000082d - bl FlagSet - ldr r0, _080C7994 @ =0x00004001 - bl FlagSet - movs r0, 0x80 - lsls r0, 7 - bl FlagSet - ldr r0, _080C7998 @ =gSaveBlock1 - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - bl sub_80C7754 - bl sub_8080F9C - pop {r0} - bx r0 - .align 2, 0 -_080C7990: .4byte 0x0000082d -_080C7994: .4byte 0x00004001 -_080C7998: .4byte gSaveBlock1 - thumb_func_end sub_80C7958 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/roulette.s b/asm/roulette.s index 0704caf7f..6382ecf0b 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -369,7 +369,7 @@ _081153D0: movs r1, 0xC0 lsls r1, 19 bl LZ77UnCompVram - ldr r0, _08115434 @ =gUnknown_08E81098 + ldr r0, _08115434 @ =gRouletteWheelTiles ldr r1, _08115438 @ =0x06004000 bl LZ77UnCompVram ldr r1, _0811543C @ =gMain @@ -382,7 +382,7 @@ _08115424: .4byte 0x00004686 _08115428: .4byte 0x00004401 _0811542C: .4byte 0x0000060a _08115430: .4byte gUnknown_08E8096C -_08115434: .4byte gUnknown_08E81098 +_08115434: .4byte gRouletteWheelTiles _08115438: .4byte 0x06004000 _0811543C: .4byte gMain _08115440: .4byte 0x0000043c @@ -3571,7 +3571,7 @@ _08116DEE: cmp r3, 0x3 bls _08116DC8 movs r2, 0 - ldr r0, _08116E54 @ =gUnknown_083F8D94 + ldr r0, _08116E54 @ =gUnknown_083F8D90 + 0x4 add r0, r12 ldr r7, [r0] ldr r4, _08116E58 @ =0x02019016 @@ -3617,7 +3617,7 @@ _08116E38: _08116E48: .4byte 0x02019000 _08116E4C: .4byte gTasks _08116E50: .4byte gUnknown_083F8D90 -_08116E54: .4byte gUnknown_083F8D94 +_08116E54: .4byte gUnknown_083F8D90 + 0x4 _08116E58: .4byte 0x02019016 thumb_func_end sub_8116D54 @@ -8689,10 +8689,10 @@ _081196A8: cmp r5, r9 bcs _0811970E ldr r6, _08119734 @ =0x02019000 - ldr r7, _08119738 @ =gUnknown_083F8C0C + ldr r7, _08119738 @ =gUnknown_083F8C00 + 0xC _081196B6: lsls r0, r3, 3 - ldr r1, _0811973C @ =gUnknown_083F8D94 + ldr r1, _0811973C @ =gUnknown_083F8D90 + 0x4 adds r0, r1 ldr r1, [r6, 0x8] ldr r2, [r0] @@ -8757,8 +8757,8 @@ _0811970E: b _08119766 .align 2, 0 _08119734: .4byte 0x02019000 -_08119738: .4byte gUnknown_083F8C0C -_0811973C: .4byte gUnknown_083F8D94 +_08119738: .4byte gUnknown_083F8C00 + 0xC +_0811973C: .4byte gUnknown_083F8D90 + 0x4 _08119740: .4byte 0x0201901b _08119744: ldr r0, [sp, 0x10] diff --git a/data/battle_anim_813F0F4.s b/data/battle_anim_813F0F4.s index 849fd8376..de29622ad 100644 --- a/data/battle_anim_813F0F4.s +++ b/data/battle_anim_813F0F4.s @@ -79,7 +79,7 @@ gSpriteAnimTable_840B360:: @ 840B360 .4byte gSpriteAnim_840B358 gUnknown_0840B378:: @ 840B378 - .incbin "baserom.gba", 0x0040b378, 0xc + .byte 0, 0, 0, 5, 1, 2, 2, 3, 5, 5, 4, 4 .align 2 gUnknown_0840B384:: @ 840B384 @@ -144,8 +144,28 @@ gSpriteTemplate_840B4A4:: @ 840B4A4 gSpriteTemplate_840B4BC:: @ 840B4BC spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 1 gUnknown_0840B4D4:: @ 840B4D4 - .incbin "baserom.gba", 0x0040b4d4, 0x28 + .2byte 0x7ADF + .2byte 0x7AF0 + .2byte 0x53D7 + .2byte 0x3FFF + .2byte 0x7297 + .2byte 0x67F5 + .2byte 0x7B2C + .2byte 0x2B7E + .2byte 0x431F + .2byte 0x7BDD + .2byte 0x2A3F + .2byte 0x293F + .2byte 0x0 + .2byte 0x201 + .2byte 0x403 + .2byte 0x101 + .2byte 0x100 + .2byte 0x503 + .2byte 0x506 + .2byte 0x4 .align 2 gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC diff --git a/data/battle_message.s b/data/battle_message.s index 78d7c4d95..0ad61bfc0 100644 --- a/data/battle_message.s +++ b/data/battle_message.s @@ -5,8 +5,127 @@ .include "data/text/battle_strings.inc" + .align 1 gUnknown_084016BC:: @ 84016BC - .incbin "baserom.gba", 0x004016bc, 0xec + .2byte 0xE + .2byte 0x46 + .2byte 0x4A + .2byte 0x6A + .2byte 0x6B + .2byte 0x6C + .2byte 0x6E + .2byte 0x6F + .2byte 0x79 + .2byte 0x7B + .2byte 0x7D + .2byte 0x94 + .2byte 0x96 + .2byte 0x97 + .2byte 0x9B + .2byte 0x9C + .2byte 0x9F + .2byte 0xA4 + .2byte 0xAA + .2byte 0xAD + .2byte 0xB6 + .2byte 0xBF + .2byte 0xCB + .2byte 0xCD + .2byte 0xCF + .2byte 0xD6 + .2byte 0xED + .2byte 0xF4 + .2byte 0xF5 + .2byte 0x10A + .2byte 0x10F + .2byte 0x112 + .2byte 0x113 + .2byte 0x11A + .2byte 0x125 + .2byte 0x136 + .2byte 0x13C + .2byte 0x140 + .2byte 0x149 + .2byte 0x14A + .2byte 0x14E + .2byte 0x154 + .2byte 0x0 + .2byte 0x64 + .2byte 0x69 + .2byte 0x75 + .2byte 0x85 + .2byte 0xAF + .2byte 0x10D + .2byte 0x153 + .2byte 0x0 + .2byte 0x60 + .2byte 0x61 + .2byte 0x66 + .2byte 0x68 + .2byte 0x8C + .2byte 0x90 + .2byte 0xA5 + .2byte 0xB8 + .2byte 0x10C + .2byte 0x111 + .2byte 0x118 + .2byte 0x119 + .2byte 0x129 + .2byte 0x12A + .2byte 0x12C + .2byte 0x139 + .2byte 0x15A + .2byte 0x15B + .2byte 0x0 + .2byte 0x1 + .2byte 0xA + .2byte 0xB + .2byte 0x11 + .2byte 0x13 + .2byte 0x14 + .2byte 0x15 + .2byte 0x1E + .2byte 0x23 + .2byte 0x25 + .2byte 0x27 + .2byte 0x2B + .2byte 0x2C + .2byte 0x2D + .2byte 0x2E + .2byte 0x2F + .2byte 0x40 + .2byte 0x47 + .2byte 0x51 + .2byte 0x59 + .2byte 0x5A + .2byte 0x5B + .2byte 0x5C + .2byte 0x67 + .2byte 0x76 + .2byte 0x7A + .2byte 0x80 + .2byte 0x84 + .2byte 0x8B + .2byte 0x91 + .2byte 0xA3 + .2byte 0xA9 + .2byte 0xAB + .2byte 0xAE + .2byte 0xC1 + .2byte 0xCC + .2byte 0xD5 + .2byte 0xF9 + .2byte 0xFD + .2byte 0xFF + .2byte 0x100 + .2byte 0x103 + .2byte 0x104 + .2byte 0x110 + .2byte 0x11B + .2byte 0x141 + .2byte 0x157 + .2byte 0x0 + .align 2 gUnknown_084017A8:: @ 84017A8 - .incbin "baserom.gba", 0x004017a8, 0x8 + .4byte -1, -1 diff --git a/data/decoration.s b/data/decoration.s index 6bbe52703..0ca44c847 100644 --- a/data/decoration.s +++ b/data/decoration.s @@ -261,4 +261,5 @@ gUnknown_083ECAA0:: @ 83ECAA0 .4byte sub_80FED3C @ XXX: what is this? + .align 2 .4byte 0x2000000 diff --git a/data/evolution_graphics.s b/data/evolution_graphics.s index 1704e4fdb..e362b4dba 100644 --- a/data/evolution_graphics.s +++ b/data/evolution_graphics.s @@ -38,5 +38,33 @@ gSpriteAnimTable_8416EB4:: @ 8416EB4 gSpriteTemplate_8416EB8:: @ 8416EB8 spr_template 1001, 1001, gOamData_8416EA4, gSpriteAnimTable_8416EB4, NULL, gDummySpriteAffineAnimTable, nullsub_84 + .align 1 gUnknown_08416ED0:: @ 8416ED0 - .incbin "baserom.gba", 0x00416ed0, 0x38 + .2byte 0x3C0 + .2byte 0x380 + .2byte 0x340 + .2byte 0x300 + .2byte 0x2C0 + .2byte 0x280 + .2byte 0x240 + .2byte 0x200 + .2byte 0x1C0 + .2byte 0x180 + .2byte 0x140 + .2byte 0x100 + .2byte 0xFFFC + .2byte 0x10 + .2byte 0xFFFD + .2byte 0x30 + .2byte 0xFFFE + .2byte 0x50 + .2byte 0xFFFF + .2byte 0x70 + .2byte 0x1 + .2byte 0x70 + .2byte 0x2 + .2byte 0x50 + .2byte 0x3 + .2byte 0x30 + .2byte 0x4 + .2byte 0x10 diff --git a/data/truck_scene.s b/data/field_special_scene.s index 9d3958924..9d3958924 100644 --- a/data/truck_scene.s +++ b/data/field_special_scene.s diff --git a/data/graphics.s b/data/graphics.s index f597b1248..5111c4b99 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -3401,8 +3401,8 @@ gUnknown_08E8096C:: @ 8E8096C .incbin "graphics/unknown/unknown_E8096C.4bpp.lz" .align 2 -gUnknown_08E81098:: @ 8E81098 - .incbin "graphics/unknown/unknown_E81098.bin.lz" +gRouletteWheelTiles:: @ 8E81098 + .incbin "graphics/roulette/wheel.8bpp.lz" .align 2 gRouletteCenter_Gfx:: diff --git a/data/item_menu.s b/data/item_menu.s index 141caa1bd..f66961b46 100644 --- a/data/item_menu.s +++ b/data/item_menu.s @@ -70,8 +70,9 @@ gUnknown_083C16FC:: @ 83C16FC .4byte sub_80A65AC .4byte sub_80A6618 + .align 1 gUnknown_083C1704:: @ 83C1704 - .incbin "baserom.gba", 0x003c1704, 0x4 + .2byte 0x41EE, 0x7FFF gUnknown_083C1708:: @ 83C1708 .byte 4, 5 @@ -81,7 +82,7 @@ gUnknown_083C170A:: @ 83C170A .align 2 gPalette_83C170C:: @ 83C170C - .incbin "baserom.gba", 0x003c170c, 0x20 + .incbin "graphics/unknown/83C170C.gbapal" .align 2 gSpriteImage_83C172C:: @ 83C172C diff --git a/data/item_use.s b/data/item_use.s index 7e03e54d8..c4ab824a5 100644 --- a/data/item_use.s +++ b/data/item_use.s @@ -3,13 +3,28 @@ .section .rodata + .align 2 gUnknown_083D613C:: @ 83D613C - .incbin "baserom.gba", 0x003d613c, 0x60 + .byte 1, 0, 1, 0, 0, 0, 0, 0 + .byte 1, 1, 1, 0, 0, 0, 0, 0 + .byte 1, 0, 1, 1, 0, 0, 0, 0 + .byte 1, 1, 1, 1, 0, 0, 0, 0 + .byte 1, 0, 1, 0, 1, 0, 0, 0 + .byte 1, 1, 1, 0, 1, 0, 0, 0 + .byte 1, 0, 1, 1, 1, 0, 0, 0 + .byte 1, 0, 1, 0, 1, 1, 0, 0 + .byte 1, 1, 1, 1, 1, 0, 0, 0 + .byte 1, 1, 1, 0, 1, 1, 0, 0 + .byte 1, 0, 1, 1, 1, 1, 0, 0 + .byte 1, 1, 1, 1, 1, 1, 0, 0 Unknown_83D619C:: - .incbin "baserom.gba", 0x003d619c, 0x20 + .string "この チケットで ふねに のりほうだい\n" + .string "はやく のってみたいな$" + Unknown_83D61BC:: - .incbin "baserom.gba", 0x003d61bc, 0x20 + .string "この チケットで ふねに のりほうだい\n" + .string "はやく のってみたいな$" .align 2 gUnknown_083D61DC:: @ 83D61DC diff --git a/data/mail.s b/data/mail.s index 6bfc29c49..f5ae7f102 100644 --- a/data/mail.s +++ b/data/mail.s @@ -173,5 +173,6 @@ gUnknown_083E57A4:: @ 83E57A4 .byte 5, 15, 15, 52 .4byte Unknown_3E5790 +@ XXX: what is this? .align 2 - .incbin "baserom.gba", 0x3e5804, 0x4 + .4byte 0x2000000 diff --git a/data/mauville_old_man.s b/data/mauville_old_man.s index 27ea5f311..dad75ebd0 100644 --- a/data/mauville_old_man.s +++ b/data/mauville_old_man.s @@ -3,8 +3,14 @@ .section .rodata + .align 1 gUnknown_083E537C:: @ 83E537C - .incbin "baserom.gba", 0x003e537c, 0xc + ec_word SISTER + ec_word EATS + ec_word SWEETS + ec_word VORACIOUS + ec_word AND + ec_word DROOLING .align 2 gUnknown_083E5388:: @ 83E5388 @@ -28,8 +34,14 @@ gUnknown_083E53A8:: @ 83E53A8 .4byte OtherText_LyingInGreenGrass .4byte OtherText_SecretBasesWonderful + .align 1 gUnknown_083E53C8:: @ 83E53C8 - .incbin "baserom.gba", 0x003e53c8, 0x18 + .2byte 0x0, 0 + .2byte 0xC, 0 + .2byte 0xD, 0 + .2byte 0x12, 0 + .2byte 0x13, 0 + .2byte 0x15, 0 .align 2 gUnknown_083E53E0:: @ 83E53E0 @@ -72,5 +84,8 @@ gUnknown_083E53E0:: @ 83E53E0 gUnknown_083E5610:: @ 83E5610 .4byte 0x131, UnknownString_81B0763, UnknownString_81B0781, UnknownString_81B0797 + .align 2 gUnknown_083E5620:: @ 83E5620 - .incbin "baserom.gba", 0x003e5620, 0xc + .4byte 0x24 + .4byte gSaveBlock1 + 0x2D94 + .4byte 0xC diff --git a/data/menu_cursor.s b/data/menu_cursor.s index 80d7e1210..0e12c519c 100644 --- a/data/menu_cursor.s +++ b/data/menu_cursor.s @@ -161,68 +161,172 @@ gSpriteTemplate_842F2B0:: @ 842F2B0 spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 -Unknown_842F2C8: @ 842F2C8 - .incbin "baserom.gba", 0x0042f2c8, 0x10 -Unknown_842F2D8: @ 842F2D8 - .incbin "baserom.gba", 0x0042f2d8, 0x18 -Unknown_842F2F0: @ 842F2F0 - .incbin "baserom.gba", 0x0042f2f0, 0x20 -Unknown_842F310: @ 842F310 - .incbin "baserom.gba", 0x0042f310, 0x18 -Unknown_842F328: @ 842F328 - .incbin "baserom.gba", 0x0042f328, 0x18 -Unknown_842F340: @ 842F340 - .incbin "baserom.gba", 0x0042f340, 0x20 -Unknown_842F360: @ 842F360 - .incbin "baserom.gba", 0x0042f360, 0x20 -Unknown_842F380: @ 842F380 - .incbin "baserom.gba", 0x0042f380, 0x20 -Unknown_842F3A0: @ 842F3A0 - .incbin "baserom.gba", 0x0042f3a0, 0x20 -Unknown_842F3C0: @ 842F3C0 - .incbin "baserom.gba", 0x0042f3c0, 0x28 -Unknown_842F3E8: @ 842F3E8 - .incbin "baserom.gba", 0x0042f3e8, 0x28 -Unknown_842F410: @ 842F410 - .incbin "baserom.gba", 0x0042f410, 0x28 -Unknown_842F438: @ 842F438 - .incbin "baserom.gba", 0x0042f438, 0x28 -Unknown_842F460: @ 842F460 - .incbin "baserom.gba", 0x0042f460, 0x30 -Unknown_842F490: @ 842F490 - .incbin "baserom.gba", 0x0042f490, 0x30 -Unknown_842F4C0: @ 842F4C0 - .incbin "baserom.gba", 0x0042f4c0, 0x30 -Unknown_842F4F0: @ 842F4F0 - .incbin "baserom.gba", 0x0042f4f0, 0x30 -Unknown_842F520: @ 842F520 - .incbin "baserom.gba", 0x0042f520, 0x38 -Unknown_842F558: @ 842F558 - .incbin "baserom.gba", 0x0042f558, 0x18 - - .4byte Unknown_842F2C8 - .4byte Unknown_842F2C8 - .4byte Unknown_842F2D8 - .4byte Unknown_842F2F0 - .4byte Unknown_842F310 - .4byte Unknown_842F328 - .4byte Unknown_842F340 - .4byte Unknown_842F360 - .4byte Unknown_842F380 - .4byte Unknown_842F3A0 - .4byte Unknown_842F3C0 - .4byte Unknown_842F3E8 - .4byte Unknown_842F410 - .4byte Unknown_842F438 - .4byte Unknown_842F460 - .4byte Unknown_842F490 - .4byte Unknown_842F4C0 - .4byte Unknown_842F4F0 - .4byte Unknown_842F520 +gSubspriteTable_842F2C8:: @ 842F2C8 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F2D8:: @ 842F2D8 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F2F0:: @ 842F2F0 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 2, 8x16 + subsprite 17, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F310:: @ 842F310 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 25, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F328:: @ 842F328 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F340:: @ 842F340 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 6, 32x16 + subsprite 41, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F360:: @ 842F360 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 17, 0, 0, 6, 32x16 + subsprite 49, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F380:: @ 842F380 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 25, 0, 0, 6, 32x16 + subsprite 57, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F3A0:: @ 842F3A0 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 65, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F3C0:: @ 842F3C0 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 6, 32x16 + subsprite 41, 0, 0, 6, 32x16 + subsprite 73, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F3E8:: @ 842F3E8 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 49, 0, 0, 6, 32x16 + subsprite 81, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F410:: @ 842F410 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 57, 0, 0, 6, 32x16 + subsprite 89, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F438:: @ 842F438 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 65, 0, 0, 6, 32x16 + subsprite 97, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F460:: @ 842F460 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 6, 32x16 + subsprite 41, 0, 0, 6, 32x16 + subsprite 73, 0, 0, 6, 32x16 + subsprite 105, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F490:: @ 842F490 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 65, 0, 0, 6, 32x16 + subsprite 81, 0, 0, 6, 32x16 + subsprite 113, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F4C0:: @ 842F4C0 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 65, 0, 0, 6, 32x16 + subsprite 89, 0, 0, 6, 32x16 + subsprite 121, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F4F0:: @ 842F4F0 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 6, 32x16 + subsprite 33, 0, 0, 6, 32x16 + subsprite 65, 0, 0, 6, 32x16 + subsprite 97, 0, 0, 6, 32x16 + subsprite 129, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F520:: @ 842F520 + subsprite -1, 0, 0, 0, 8x16 + subsprite 1, 0, 0, 2, 8x16 + subsprite 9, 0, 0, 6, 32x16 + subsprite 41, 0, 0, 6, 32x16 + subsprite 73, 0, 0, 6, 32x16 + subsprite 105, 0, 0, 6, 32x16 + subsprite 137, 0, 0, 4, 8x16 + + .align 2 +gSubspriteTable_842F558:: @ 842F558 + subsprite -1, 0, 0, 0, 8x16 + subsprite 7, 0, 0, 6, 32x16 + subsprite 35, 0, 0, 4, 8x16 + + .align 2 +gUnknown_0842F570:: @ 842F570 + .4byte gSubspriteTable_842F2C8 + .4byte gSubspriteTable_842F2C8 + .4byte gSubspriteTable_842F2D8 + .4byte gSubspriteTable_842F2F0 + .4byte gSubspriteTable_842F310 + .4byte gSubspriteTable_842F328 + .4byte gSubspriteTable_842F340 + .4byte gSubspriteTable_842F360 + .4byte gSubspriteTable_842F380 + .4byte gSubspriteTable_842F3A0 + .4byte gSubspriteTable_842F3C0 + .4byte gSubspriteTable_842F3E8 + .4byte gSubspriteTable_842F410 + .4byte gSubspriteTable_842F438 + .4byte gSubspriteTable_842F460 + .4byte gSubspriteTable_842F490 + .4byte gSubspriteTable_842F4C0 + .4byte gSubspriteTable_842F4F0 + .4byte gSubspriteTable_842F520 .align 2 gUnknown_0842F5BC:: @ 842F5BC - .4byte Unknown_842F558 + .4byte gSubspriteTable_842F558 .align 2 gSubspriteTables_842F5C0:: @ 842F5C0 @@ -260,26 +364,26 @@ gSubspriteTables_842F5C0:: @ 842F5C0 .4byte 31, gMenuCursorSubsprites .align 2 -gUnknown_0842F6C0:: @ 842F6C0 - .4byte 0x2, Unknown_842F2C8 - .4byte 0x2, Unknown_842F2C8 - .4byte 0x3, Unknown_842F2D8 - .4byte 0x4, Unknown_842F2F0 - .4byte 0x3, Unknown_842F310 - .4byte 0x3, Unknown_842F328 - .4byte 0x4, Unknown_842F340 - .4byte 0x4, Unknown_842F360 - .4byte 0x4, Unknown_842F380 - .4byte 0x4, Unknown_842F3A0 - .4byte 0x5, Unknown_842F3C0 - .4byte 0x5, Unknown_842F3E8 - .4byte 0x5, Unknown_842F410 - .4byte 0x5, Unknown_842F438 - .4byte 0x6, Unknown_842F460 - .4byte 0x6, Unknown_842F490 - .4byte 0x6, Unknown_842F4C0 - .4byte 0x6, Unknown_842F4F0 - .4byte 0x7, Unknown_842F520 +gSubspriteTables_842F6C0:: @ 842F6C0 + .4byte 2, gSubspriteTable_842F2C8 + .4byte 2, gSubspriteTable_842F2C8 + .4byte 3, gSubspriteTable_842F2D8 + .4byte 4, gSubspriteTable_842F2F0 + .4byte 3, gSubspriteTable_842F310 + .4byte 3, gSubspriteTable_842F328 + .4byte 4, gSubspriteTable_842F340 + .4byte 4, gSubspriteTable_842F360 + .4byte 4, gSubspriteTable_842F380 + .4byte 4, gSubspriteTable_842F3A0 + .4byte 5, gSubspriteTable_842F3C0 + .4byte 5, gSubspriteTable_842F3E8 + .4byte 5, gSubspriteTable_842F410 + .4byte 5, gSubspriteTable_842F438 + .4byte 6, gSubspriteTable_842F460 + .4byte 6, gSubspriteTable_842F490 + .4byte 6, gSubspriteTable_842F4C0 + .4byte 6, gSubspriteTable_842F4F0 + .4byte 7, gSubspriteTable_842F520 .align 2 gUnknown_0842F758:: @ 842F758 diff --git a/data/menu_helpers.s b/data/menu_helpers.s index b4665af1f..29d42cb4b 100644 --- a/data/menu_helpers.s +++ b/data/menu_helpers.s @@ -29,7 +29,7 @@ gSpriteImage_83E5928:: @ 83E5928 .align 2 Palette_3E5948: @ 83E5948 - .incbin "baserom.gba", 0x3e5948, 0x20 + .incbin "graphics/interface/83E5948.gbapal" .align 2 gUnknown_083E5968:: @ 83E5968 diff --git a/data/mon_markings.s b/data/mon_markings.s index 710f37a51..b9ec7735f 100644 --- a/data/mon_markings.s +++ b/data/mon_markings.s @@ -11,11 +11,17 @@ gUnknown_083E49F4:: @ 83E49F4 gUnknown_083E4A14:: @ 83E4A14 .incbin "graphics/misc/mon_markings.4bpp" -gUnknown_083E5214:: @ 83E5214 - .incbin "baserom.gba", 0x003e5214, 0x8 + .align 2 +gOamData_83E5214:: @ 83E5214 + .2byte 0x0 + .2byte 0xC000 + .2byte 0x0 -gUnknown_083E521C:: @ 83E521C - .space 8 + .align 2 +gOamData_83E521C:: @ 83E521C + .2byte 0x0 + .2byte 0x0 + .2byte 0x0 .align 2 gSpriteAnim_83E5224:: @ 83E5224 @@ -95,8 +101,11 @@ gSpriteAnimTable_83E52AC:: @ 83E52AC .4byte gSpriteAnim_83E529C .4byte gSpriteAnim_83E52A4 -gUnknown_083E52B4:: @ 83E52B4 - .incbin "baserom.gba", 0x003E52B4, 0x8 + .align 2 +gOamData_83E52B4:: @ 83E52B4 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0 .align 2 gSpriteAnim_83E52BC:: @ 83E52BC diff --git a/data/naming_screen.s b/data/naming_screen.s index c9196c66a..4e477f4b9 100644 --- a/data/naming_screen.s +++ b/data/naming_screen.s @@ -11,8 +11,9 @@ gSpriteImage_83CE094:: @ 83CE094 gSpriteImage_83CE154:: @ 83CE154 .incbin "graphics/naming_screen/pc_icon/1.4bpp" +@ XXX: what is this? .align 2 - .incbin "baserom.gba", 0x003ce214, 0x4 + .4byte 0x2000000 .align 2 gUnknown_083CE218:: @ 83CE218 @@ -39,17 +40,21 @@ gUnknown_083CE250:: @ 83CE250 .4byte sub_80B626C .4byte sub_80B6274 + .align 1 gUnknown_083CE258:: @ 83CE258 - .incbin "baserom.gba", 0x003ce258, 0xa + .2byte 0, 0, 0, -1, 1 + .align 1 gUnknown_083CE262:: @ 83CE262 - .incbin "baserom.gba", 0x003ce262, 0xa + .2byte 0, -1, 1, 0, 0 + .align 1 gUnknown_083CE26C:: @ 83CE26C - .incbin "baserom.gba", 0x003ce26c, 0x8 + .2byte 0, 1, 1, 2 + .align 1 gUnknown_083CE274:: @ 83CE274 - .incbin "baserom.gba", 0x003ce274, 0x8 + .2byte 0, 0, 3, 0 .align 2 gUnknown_083CE27C:: @ 83CE27C @@ -64,10 +69,12 @@ gUnknown_083CE28C:: @ 83CE28C .4byte 0x02000004 gUnknown_083CE294:: @ 83CE294 - .incbin "baserom.gba", 0x003ce294, 0x1b + .byte 1, 3, 5, 8, 10, 12, 14, 17, 19 + .byte 1, 3, 5, 8, 10, 12, 14, 17, 19 + .byte 1, 4, 7, 10, 13, 16, 16, 16, 19 gUnknown_083CE2AF:: @ 83CE2AF - .incbin "baserom.gba", 0x003ce2af, 0x5 + .byte 1, 2, 3 .align 2 gUnknown_083CE2B4:: @ 83CE2B4 @@ -76,17 +83,21 @@ gUnknown_083CE2B4:: @ 83CE2B4 .4byte sub_80B6B9C .4byte sub_80B6C08 + .align 1 gUnknown_083CE2C4:: @ 83CE2C4 - .incbin "baserom.gba", 0x003ce2c4, 0x6 + .2byte 1, 3, 2 + .align 1 gUnknown_083CE2CA:: @ 83CE2CA - .incbin "baserom.gba", 0x003ce2ca, 0x6 + .2byte 4, 6, 5 + .align 1 gUnknown_083CE2D0:: @ 83CE2D0 - .incbin "baserom.gba", 0x003ce2d0, 0x8 + .2byte 0, -4, -2, -1 + .align 1 gUnknown_083CE2D8:: @ 83CE2D8 - .incbin "baserom.gba", 0x003ce2d8, 0x8 + .2byte 2, 3, 2, 1 .align 2 gUnknown_083CE2E0:: @ 83CE2E0 @@ -104,8 +115,10 @@ gUnknown_083CE2F0:: @ 83CE2F0 .4byte sub_80B7670 .4byte sub_80B7660 + .align 2 gUnknown_083CE308:: @ 83CE308 - .incbin "baserom.gba", 0x003ce308, 0x8 + .4byte VRAM + 0xE000 + .4byte VRAM + 0xE800 .align 2 gUnknown_083CE310:: @ 83CE310 @@ -143,9 +156,8 @@ gUnknown_083CE368:: @ 83CE368 .4byte nullsub_62 .4byte sub_80B7924 - .align 2 gUnknown_083CE370:: @ 83CE370 - .incbin "baserom.gba", 0x003ce370, 0x4 + .string "♂$" .align 2 Unknown_83CE374: @@ -202,38 +214,59 @@ gOamData_83CE4A8:: @ 83CE4A8 .2byte 0x0000 .align 2 -Unknown_3CE4B0:: @ 83CE4B0 - .incbin "baserom.gba", 0x3ce4b0, 0x50 +gSubspriteTable_83CE4B0:: @ 83CE4B0 + subsprite -20, -16, 1, 0, 32x8 + subsprite 12, -16, 1, 4, 8x8 + subsprite -20, -8, 1, 5, 32x8 + subsprite 12, -8, 1, 9, 8x8 + subsprite -20, 0, 1, 10, 32x8 + subsprite 12, 0, 1, 14, 8x8 + subsprite -20, 8, 1, 15, 32x8 + subsprite 12, 8, 1, 19, 8x8 + +@ unreferenced + .align 2 +gSubspriteTable_83CE4F0:: @ 83CE4F0 + subsprite -12, -4, 1, 0, 8x8 + subsprite 4, -4, 1, 1, 8x8 .align 2 -Unknown_3CE500:: @ 83CE500 - .incbin "baserom.gba", 0x3ce500, 0x10 +gSubspriteTable_83CE500:: @ 83CE500 + subsprite -12, -4, 1, 0, 16x8 + subsprite 4, -4, 1, 2, 8x8 .align 2 -Unknown_3CE510:: @ 83CE510 - .incbin "baserom.gba", 0x3ce510, 0x30 +gSubspriteTable_83CE510:: @ 83CE510 + subsprite -20, -12, 1, 0, 32x8 + subsprite 12, -12, 1, 4, 8x8 + subsprite -20, -4, 1, 5, 32x8 + subsprite 12, -4, 1, 9, 8x8 + subsprite -20, 4, 1, 10, 32x8 + subsprite 12, 4, 1, 14, 8x8 .align 2 -Unknown_3CE540:: @ 83CE540 - .incbin "baserom.gba", 0x3ce540, 0x18 +gSubspriteTable_83CE540:: @ 83CE540 + subsprite -8, -12, 3, 0, 16x8 + subsprite -8, -4, 3, 2, 16x8 + subsprite -8, 4, 3, 4, 16x8 .align 2 -gUnknown_083CE558:: @ 83CE558 - .4byte 0x8, Unknown_3CE4B0 +gSubspriteTables_83CE558:: @ 83CE558 + .4byte 8, gSubspriteTable_83CE4B0 .align 2 -gUnknown_083CE560:: @ 83CE560 - .4byte 0x2, Unknown_3CE500 - .4byte 0x2, Unknown_3CE500 - .4byte 0x2, Unknown_3CE500 +gSubspriteTables_83CE560:: @ 83CE560 + .4byte 2, gSubspriteTable_83CE500 + .4byte 2, gSubspriteTable_83CE500 + .4byte 2, gSubspriteTable_83CE500 .align 2 -gUnknown_083CE578:: @ 83CE578 - .4byte 0x6, Unknown_3CE510 +gSubspriteTables_83CE578:: @ 83CE578 + .4byte 6, gSubspriteTable_83CE510 .align 2 -gUnknown_083CE580:: @ 83CE580 - .4byte 0x3, Unknown_3CE540 +gSubspriteTables_83CE580:: @ 83CE580 + .4byte 3, gSubspriteTable_83CE540 .align 2 gSpriteImageTable_83CE588:: @ 83CE588 diff --git a/data/option_menu.s b/data/option_menu.s index eaf0f82b8..cb517cc89 100644 --- a/data/option_menu.s +++ b/data/option_menu.s @@ -5,8 +5,9 @@ .align 2 gUnknown_0839F5FC:: @ 839F5FC - .incbin "baserom.gba", 0x0039f5fc, 0x40 + .incbin "graphics/misc/option_menu_text.gbapal" +@ note: this is only used in the Japanese release .align 2 gUnknown_0839F63C:: @ 839F63C - .incbin "baserom.gba", 0x0039f63c, 0x40 + .incbin "graphics/misc/option_menu_equals_sign.4bpp" diff --git a/data/player_pc.s b/data/player_pc.s index 199411221..fe46b0443 100644 --- a/data/player_pc.s +++ b/data/player_pc.s @@ -18,10 +18,10 @@ gUnknown_08406298:: @ 8406298 .4byte SecretBaseText_TurnOff, PlayerPC_TurnOff gUnknown_084062B8:: @ 84062B8 - .incbin "baserom.gba", 0x004062b8, 0x4 + .byte 0, 1, 2, 3 gUnknown_084062BC:: @ 84062BC - .incbin "baserom.gba", 0x004062bc, 0x4 + .byte 0, 1, 3 .align 2 gUnknown_084062C0:: @ 84062C0 @@ -67,8 +67,11 @@ gUnknown_0840632A:: @ 840632A gUnknown_08406330:: @ 8406330 .string "{CLEAR_TO 32}$" + .align 1 gUnknown_08406334:: @ 8406334 - .incbin "baserom.gba", 0x00406334, 0x6 + .2byte 0x5294 + .2byte 0x6B5A + .2byte 0x7FFF gUnknown_0840633A:: @ 840633A .string "{COLOR RED}{STR_VAR_1}$" diff --git a/data/pokeblock.s b/data/pokeblock.s index a200edfb6..6d0b1890d 100644 --- a/data/pokeblock.s +++ b/data/pokeblock.s @@ -4,7 +4,31 @@ .section .rodata gUnknown_083F7E28:: @ 83F7E28 - .incbin "baserom.gba", 0x003f7e28, 0x80 + .byte 0, 0, 0, 0, 0 + .byte 1, 0, 0, 0, -1 + .byte 1, 0, -1, 0, 0 + .byte 1, -1, 0, 0, 0 + .byte 1, 0, 0, -1, 0 + .byte -1, 0, 0, 0, 1 + .byte 0, 0, 0, 0, 0 + .byte 0, 0, -1, 0, 1 + .byte 0, -1, 0, 0, 1 + .byte 0, 0, 0, -1, 1 + .byte -1, 0, 1, 0, 0 + .byte 0, 0, 1, 0, -1 + .byte 0, 0, 0, 0, 0 + .byte 0, -1, 1, 0, 0 + .byte 0, 0, 1, -1, 0 + .byte -1, 1, 0, 0, 0 + .byte 0, 1, 0, 0, -1 + .byte 0, 1, -1, 0, 0 + .byte 0, 0, 0, 0, 0 + .byte 0, 1, 0, -1, 0 + .byte -1, 0, 0, 1, 0 + .byte 0, 0, 0, 1, -1 + .byte 0, 0, -1, 1, 0 + .byte 0, -1, 0, 1, 0 + .byte 0, 0, 0, 0, 0 .align 2 gUnknown_083F7EA8:: @ 83F7EA8 @@ -69,12 +93,17 @@ gSpriteAnim_83F7F3C:: @ 83F7F3C gSpriteAnimTable_83F7F44:: @ 83F7F44 .4byte gSpriteAnim_83F7F3C -Unknown_83F7F48: - .incbin "baserom.gba", 0x003f7f48, 0x28 + .align 2 +gSpriteAffineAnim_83F7F48:: @ 83F7F48 + obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 + obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 + obj_rot_scal_anim_end .align 2 -gUnknown_083F7F70:: @ 83F7F70 - .4byte Unknown_83F7F48 +gSpriteAffineAnimTable_83F7F70:: @ 83F7F70 + .4byte gSpriteAffineAnim_83F7F48 .align 2 gUnknown_083F7F74:: @ 83F7F74 @@ -89,4 +118,8 @@ gSpriteTemplate_83F7F84:: @ 83F7F84 spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_083F7F9C:: @ 83F7F9C - .incbin "baserom.gba", 0x003f7f9c, 0x28 + .byte 1, 20, 0, 0, 0, 0, 20, 0 + .byte 2, 0, 20, 0, 0, 0, 20, 0 + .byte 3, 0, 0, 20, 0, 0, 20, 0 + .byte 4, 0, 0, 0, 20, 0, 20, 0 + .byte 5, 0, 0, 0, 0, 20, 20, 0 diff --git a/data/pokedex_area_screen.s b/data/pokedex_area_screen.s index ac24f8653..9c23f8e89 100644 --- a/data/pokedex_area_screen.s +++ b/data/pokedex_area_screen.s @@ -18,8 +18,15 @@ gUnknown_083F856E:: @ 83F856E .2byte 328, 0, 34 .2byte 412, 0, 0 + .align 1 gUnknown_083F857A:: @ 83F857A - .incbin "baserom.gba", 0x003f857a, 0x12 + .2byte 85, 2142 + .2byte 68, 2119 + .2byte 88, 0 + +@ XXX: what is this? + .align 2 + .4byte 0x2000000 .align 2 gUnknown_083F858C:: @ 83F858C diff --git a/data/pokemon_menu.s b/data/pokemon_menu.s index 1781e8df7..9e2ce2864 100644 --- a/data/pokemon_menu.s +++ b/data/pokemon_menu.s @@ -30,8 +30,23 @@ gPokemonMenuActions:: @ 839F494 .4byte gMoveNames + 13 * MOVE_SOFT_BOILED, PokemonMenu_FieldMove .4byte gMoveNames + 13 * MOVE_SWEET_SCENT, PokemonMenu_FieldMove + .align 1 gUnknown_0839F554:: @ 839F554 - .incbin "baserom.gba", 0x39f554, 0x1e + .2byte MOVE_CUT + .2byte MOVE_FLASH + .2byte MOVE_ROCK_SMASH + .2byte MOVE_STRENGTH + .2byte MOVE_SURF + .2byte MOVE_FLY + .2byte MOVE_DIVE + .2byte MOVE_WATERFALL + .2byte MOVE_TELEPORT + .2byte MOVE_DIG + .2byte MOVE_SECRET_POWER + .2byte MOVE_MILK_DRINK + .2byte MOVE_SOFT_BOILED + .2byte MOVE_SWEET_SCENT + .2byte 0xFF Unknown_39F572: @ 839F572 .byte 4, 5, 9, 0 diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index 31457e382..f66a28e56 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -185,7 +185,7 @@ gSpriteTemplate_83C11C0:: @ 83C11C0 spr_template 30002, 30002, gOamData_83C109C, gSpriteAnimTable_83C115C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_083C11D8:: @ 83C11D8 - .incbin "baserom.gba", 0x003c11d8, 0x18 + .byte 0xD,0xD,0xE,0xE,0xD,0xD,0xF,0xE,0xD,0xF,0xD,0xE,0xF,0xD,0xE,0xE,0xF,0xD,0xD,0xE,0xE,0xF,0xD .align 2 gOamData_83C11F0:: @ 83C11F0 diff --git a/data/pokenav.s b/data/pokenav.s index 4d95526a3..3ea704c03 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -3,59 +3,81 @@ .section .rodata + .align 2 gUnknown_083DFEC4:: @ 83DFEC4 - .incbin "baserom.gba", 0x003dfec4, 0x4 + .4byte 0x2000000 + .align 2 gUnknown_083DFEC8:: @ 83DFEC8 - .4byte 0x02039360 + .4byte gTileBuffer + .align 1 gUnknown_083DFECC:: @ 83DFECC - .incbin "baserom.gba", 0x003dfecc, 0x20 + .incbin "graphics/pokenav/83DFECC.gbapal" + .align 1 gUnknown_083DFEEC:: @ 83DFEEC - .incbin "baserom.gba", 0x003dfeec, 0xa0 + .incbin "graphics/pokenav/83DFEEC.4bpp" + .align 2 gUnknown_083DFF8C:: @ 83DFF8C - .incbin "baserom.gba", 0x003dff8c, 0xb0 + .incbin "graphics/pokenav/83DFF8C.bin.lz" + .align 1 gUnknown_083E003C:: @ 83E003C - .incbin "baserom.gba", 0x003e003c, 0x20 + .incbin "graphics/pokenav/83E003C.gbapal" + .align 1 gUnknown_083E005C:: @ 83E005C - .incbin "baserom.gba", 0x003e005c, 0x20 + .incbin "graphics/pokenav/83E005C.4bpp" + .align 2 gUnknown_083E007C:: @ 83E007C - .incbin "baserom.gba", 0x003e007c, 0xa8 + .incbin "graphics/pokenav/83E007C.bin.lz" + .align 1 gUnknown_083E0124:: @ 83E0124 - .incbin "baserom.gba", 0x003e0124, 0x20 + .incbin "graphics/pokenav/83E0124_pal.bin" + .align 1 gUnknown_083E0144:: @ 83E0144 - .incbin "baserom.gba", 0x003e0144, 0x68 + .incbin "graphics/pokenav/83E0144_pal.bin" + + .align 1 + .incbin "graphics/pokenav/83E0164.bin" + .align 1 gUnknown_083E01AC:: @ 83E01AC - .incbin "baserom.gba", 0x003e01ac, 0x48 + .incbin "graphics/pokenav/83E01AC.bin" + .align 1 gUnknown_083E01F4:: @ 83E01F4 - .incbin "baserom.gba", 0x003e01f4, 0x60 + .incbin "graphics/pokenav/83E01F4.bin" + .align 1 gUnknown_083E0254:: @ 83E0254 - .incbin "baserom.gba", 0x003e0254, 0x20 + .incbin "graphics/pokenav/83E0254.gbapal" + .align 1 gUnknown_083E0274:: @ 83E0274 - .incbin "baserom.gba", 0x003e0274, 0x20 + .incbin "graphics/pokenav/83E0274.gbapal" .align 2 gPokenavConditionSearch2_Pal:: @ 83E0294 .incbin "graphics/pokenav/condition_search2.gbapal" + .align 1 gUnknown_083E02B4:: @ 83E02B4 - .incbin "baserom.gba", 0x003e02b4, 0x60 + .incbin "graphics/pokenav/83E02B4.gbapal" + .align 1 + .incbin "graphics/pokenav/83E02D4.bin" + + .align 1 gUnknown_083E0314:: @ 83E0314 - .incbin "baserom.gba", 0x003e0314, 0x20 + .incbin "graphics/pokenav/83E0314.gbapal" - .align 2 + .align 1 gUnknown_083E0334:: @ 83E0334 .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced @@ -63,14 +85,20 @@ gUnknown_083E0334:: @ 83E0334 gUnknown_083E0354:: @ 83E0354 .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz" + .align 1 gUnknown_083E039C:: @ 83E039C - .incbin "baserom.gba", 0x003e039c, 0x4 + .2byte 0x4280, 0x4282 + .align 1 gUnknown_083E03A0:: @ 83E03A0 - .incbin "baserom.gba", 0x003e03a0, 0x8 + .2byte 0x4000, 0x4000, 0x4281, 0x4283 + .align 1 gUnknown_083E03A8:: @ 83E03A8 - .incbin "baserom.gba", 0x003e03a8, 0x64 + .incbin "graphics/pokenav/83E03A8.gbapal" + + .align 1 + .incbin "graphics/pokenav/83E03C8.bin" gUnknown_083E040C:: @ 83E040C .incbin "graphics/misc/ribbons_half.4bpp.lz" @@ -248,7 +276,7 @@ gPokenavPokeballTiles:: .align 2 gUnknown_083E3780: @ 83E3780 - .incbin "baserom.gba", 0x3e3780, 0x20 + .incbin "graphics/pokenav/83E3780.4bpp" .align 2 gPokenavSparkle_Pal:: @@ -262,8 +290,9 @@ gPokenavSparkle_Gfx:: gPokenavUpDownArrows_Gfx:: .incbin "graphics/pokenav/arrows.4bpp" -gUnknown_083E3BC0:: - .incbin "baserom.gba", 0x003E3BC0, 0x20 + .align 2 +gUnknown_083E3BC0:: @ 83E3BC0 + .incbin "graphics/pokenav/83E3BC0.bin" .align 2 gTiles_083E3BE0:: @@ -289,11 +318,28 @@ PokenavBlueLightPalette: PokenavBlueLightTiles: .incbin "graphics/pokenav/blue_light.4bpp" + .align 2 Palette_3E42D8: @ 83E42D8 - .incbin "baserom.gba", 0x3e42d8, 0x20 + .incbin "graphics/pokenav/83E42D8.gbapal" + .align 1 gUnknown_083E42F8:: @ 83E42F8 - .incbin "baserom.gba", 0x003e42f8, 0x20 + .2byte 0x408 + .2byte 0x408 + .2byte 0x507 + .2byte 0x507 + .2byte 0x606 + .2byte 0x606 + .2byte 0x805 + .2byte 0x805 + .2byte 0xA04 + .2byte 0xA04 + .2byte 0xC03 + .2byte 0xC03 + .2byte 0xE02 + .2byte 0xE02 + .2byte 0x1000 + .2byte 0x1000 .align 2 gOamData_83E4318:: @ 83E4318 @@ -448,11 +494,14 @@ gSpriteAnimTable_83E43E0:: @ 83E43E0 .4byte gSpriteAnim_83E43D0 .4byte gSpriteAnim_83E43D8 -Unknown_83E4440: - .incbin "baserom.gba", 0x003e4440, 0x10 + .align 2 +gSpriteAffineAnim_83E4440:: @ 83E4440 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 16 + obj_rot_scal_anim_end -gUnknown_083E4450:: @ 83E4450 - .4byte Unknown_83E4440 + .align 2 +gSpriteAffineAnimTable_83E4450:: @ 83E4450 + .4byte gSpriteAffineAnim_83E4440 .align 2 gSpriteTemplate_83E4454:: @ 83E4454 @@ -553,14 +602,15 @@ gOamData_83E4560:: @ 83E4560 .align 2 gUnknown_083E4568:: @ 83E4568 - .incbin "baserom.gba", 0x003e4568, 0x8 + obj_tiles NULL, 0x800, 6 .align 2 gSpriteTemplate_83E4570:: @ 83E4570 spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00 + .align 2 gUnknown_083E4588:: @ 83E4588 - .incbin "baserom.gba", 0x003e4588, 0x8 + obj_pal NULL, 6 .align 2 gUnknown_083E4590:: @ 83E4590 @@ -645,11 +695,44 @@ gUnknown_083E4648:: @ 83E4648 gSpriteTemplate_83E4660:: @ 83E4660 spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328 + .align 1 gUnknown_083E4678:: @ 83E4678 - .incbin "baserom.gba", 0x003e4678, 0x20 + .incbin "graphics/pokenav/83E4678.gbapal" + .align 2 gUnknown_083E4698:: @ 83E4698 - .incbin "baserom.gba", 0x003e4698, 0x80 + .2byte 0, 0 + .2byte 1, 0 + .2byte 2, 0 + .2byte 3, 0 + .2byte 4, 0 + .2byte 1, 1 + .2byte 2, 1 + .2byte 3, 1 + .2byte 4, 1 + .2byte 1, 2 + .2byte 2, 2 + .2byte 3, 2 + .2byte 4, 2 + .2byte 1, 3 + .2byte 2, 3 + .2byte 3, 3 + .2byte 4, 3 + .2byte 1, 4 + .2byte 2, 4 + .2byte 3, 4 + .2byte 4, 4 + .2byte 5, 0 + .2byte 6, 0 + .2byte 7, 1 + .2byte 8, 2 + .2byte 9, 1 + .2byte 9, 3 + .2byte 9, 4 + .2byte 10, 3 + .2byte 10, 4 + .2byte 11, 0 + .2byte 11, 1 .align 2 gOamData_83E4718:: @ 83E4718 @@ -692,8 +775,18 @@ gUnknown_083E4784:: @ 83E4784 gUnknown_083E478C:: @ 83E478C obj_pal gPokenavSparkle_Pal, 0x000f + .align 2 gUnknown_083E4794:: @ 83E4794 - .incbin "baserom.gba", 0x003e4794, 0x28 + .2byte 0, -35 + .2byte 20, -28 + .2byte 33, -10 + .2byte 33, 10 + .2byte 20, 28 + .2byte 0, 35 + .2byte -20, 28 + .2byte -33, 10 + .2byte -33, -10 + .2byte -20, -28 .align 2 gOamData_83E47BC:: @ 83E47BC @@ -773,13 +866,301 @@ gSpriteTemplate_83E4878:: @ 83E4878 spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_083E4890:: @ 83E4890 - .incbin "baserom.gba", 0x003e4890, 0x100 + .byte 4 + .byte 5 + .byte 6 + .byte 7 + .byte 8 + .byte 9 + .byte 9 + .byte 10 + .byte 10 + .byte 11 + .byte 11 + .byte 12 + .byte 12 + .byte 13 + .byte 13 + .byte 13 + .byte 13 + .byte 14 + .byte 14 + .byte 14 + .byte 14 + .byte 15 + .byte 15 + .byte 15 + .byte 15 + .byte 16 + .byte 16 + .byte 16 + .byte 16 + .byte 16 + .byte 16 + .byte 17 + .byte 17 + .byte 17 + .byte 17 + .byte 17 + .byte 17 + .byte 18 + .byte 18 + .byte 18 + .byte 18 + .byte 18 + .byte 18 + .byte 19 + .byte 19 + .byte 19 + .byte 19 + .byte 19 + .byte 19 + .byte 19 + .byte 19 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 21 + .byte 21 + .byte 21 + .byte 21 + .byte 21 + .byte 21 + .byte 21 + .byte 21 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 22 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 23 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 24 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 25 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 26 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 27 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 28 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 29 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 30 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 31 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 32 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 33 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 34 + .byte 35 + .align 2 gUnknown_083E4990:: @ 83E4990 - .incbin "baserom.gba", 0x003e4990, 0xc + .4byte REG_WIN0H + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + .align 1 gUnknown_083E499C:: @ 83E499C - .incbin "baserom.gba", 0x003e499c, 0x24 + .2byte 0x43 + .2byte 0x32 + .2byte 0x33 + .2byte 0x34 + .2byte 0x35 + .2byte 0x36 + .2byte 0x44 + .2byte 0x45 + .2byte 0x46 + .2byte 0x47 + .2byte 0x48 + .2byte 0x49 + .2byte 0x4A + .2byte 0x4B + .2byte 0x4C + .2byte 0x4D + .2byte 0x4E + .align 2 gUnknown_083E49C0:: @ 83E49C0 - .incbin "baserom.gba", 0x003e49c0, 0x34 + .2byte 0x109, 0xA + .2byte 0x10A, 0x2 + .2byte 0x10B, 0x9 + .2byte 0x10C, 0x3 + .2byte 0x10D, 0x7 + .2byte 0x10E, 0xB + .2byte 0x10F, 0xD + .2byte 0x110, 0xE + .2byte 0x105, 0xF + .2byte 0x106, 0xF + .2byte 0x107, 0xF + .2byte 0x108, 0xF + .2byte 0x14F, 0xF diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s index a50f5c07b..a9a3ac847 100644 --- a/data/reset_rtc_screen.s +++ b/data/reset_rtc_screen.s @@ -5,7 +5,11 @@ .align 2 gUnknown_08376420:: @ 8376420 - .incbin "baserom.gba", 0x00376420, 0x3C + .byte 3, 0, 1, 0, 15, 39, 0, 2, 0, 0, 0, 0 + .byte 4, 0, 0, 0, 23, 0, 1, 3, 0, 0, 0, 0 + .byte 5, 0, 0, 0, 59, 0, 2, 4, 0, 0, 0, 0 + .byte 6, 0, 0, 0, 59, 0, 3, 5, 0, 0, 0, 0 + .byte 7, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0 .align 2 gOamData_837645C:: @ 837645C @@ -23,7 +27,7 @@ gSpriteImage_8376484:: @ 8376484 .align 2 Palette_3764A4: @ 83764A4 - .incbin "baserom.gba", 0x3764a4, 0x8 + .incbin "graphics/unknown/83764A4.gbapal" .align 2 gSpriteImageTable_83764AC:: @ 83764AC diff --git a/data/rom_8077ABC.s b/data/rom_8077ABC.s index dc9074cee..81b61228b 100644 --- a/data/rom_8077ABC.s +++ b/data/rom_8077ABC.s @@ -3,8 +3,16 @@ .section .rodata + .align 2 gUnknown_0837F578:: @ 837F578 - .incbin "baserom.gba", 0x0037f578, 0x20 + .byte 72, 80, 0, 0 + .byte 176, 40, 0, 0 + .byte 48, 40, 0, 0 + .byte 112, 80, 0, 0 + .byte 32, 80, 0, 0 + .byte 200, 40, 0, 0 + .byte 90, 88, 0, 0 + .byte 152, 32, 0, 0 @ 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 diff --git a/data/rom_8080874.s b/data/rom_8080874.s index f91dd02fc..220ec5f96 100644 --- a/data/rom_8080874.s +++ b/data/rom_8080874.s @@ -3,12 +3,13 @@ .section .rodata + .align 1 gUnknown_0839ACDC:: @ 839ACDC - .incbin "baserom.gba", 0x0039acdc, 0xc + .2byte 0xC8, 0x48, 0x38, 0x28, 0x18, 0x0 .align 2 gUnknown_0839ACE8:: @ 839ACE8 - .byte 4 + .4byte 4 .align 2 gUnknown_0839ACEC:: @ 839ACEC diff --git a/data/roulette.s b/data/roulette.s index 9f6c8ac15..27dd712b5 100644 --- a/data/roulette.s +++ b/data/roulette.s @@ -3,44 +3,95 @@ .section .rodata + .align 1 gUnknown_083F86BC:: @ 83F86BC - .incbin "baserom.gba", 0x003f86bc, 0x40 + .incbin "graphics/roulette/83F86BC.gbapal" .align 2 -gRouletteCenter_Pal:: - .incbin "graphics/roulette/center.gbapal" - - .incbin "baserom.gba", 0x003f871c, 0x1A0 - gUnknown_083F88BC:: @ 83F88BC - .incbin "baserom.gba", 0x003f88bc, 0x1a4 + .incbin "graphics/roulette/83F88BC.bin.lz" + .align 2 gUnknown_083F8A60:: @ 83F8A60 - .incbin "baserom.gba", 0x003f8a60, 0x1a0 + .incbin "graphics/roulette/wheel_map.bin.lz" + .align 2 gUnknown_083F8C00:: @ 83F8C00 - .incbin "baserom.gba", 0x003f8c00, 0xc - -gUnknown_083F8C0C:: @ 83F8C0C - .incbin "baserom.gba", 0x003f8c0c, 0x184 + .byte 0xFF,0x00,0x00,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + .byte 0x0C,0x14,0x00,0x11,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x42,0x08,0x01,0x00,0x00,0xE0,0x00,0x00 + .byte 0x0D,0x24,0x00,0x14,0x07,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x84,0x10,0x02,0x00,0x00,0xE0,0x00,0x00 + .byte 0x0E,0x34,0x00,0x17,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x21,0x04,0x00,0x00,0xE0,0x00,0x00 + .byte 0x0F,0x44,0x00,0x1A,0x07,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x42,0x08,0x00,0x00,0xE0,0x00,0x00 + .byte 0x10,0x03,0x01,0x0E,0x0A,0x00,0x0C,0x00,0x20,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x49,0x02,0x00,0x00 + .byte 0x00,0x1C,0x01,0x11,0x0A,0x03,0x03,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x01,0x20,0x00,0x00 + .byte 0x09,0x2C,0x01,0x14,0x0A,0x03,0x03,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x22,0x00,0x00 + .byte 0x06,0x3C,0x01,0x17,0x0A,0x03,0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x20,0x00,0x00 + .byte 0x03,0x4C,0x01,0x1A,0x0A,0x03,0x03,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x08,0x20,0x00,0x00 + .byte 0x11,0x03,0x02,0x0E,0x0D,0x03,0x0F,0x00,0x00,0x04,0x00,0x00,0x00,0x7C,0x00,0x00,0x92,0x04,0x00,0x00 + .byte 0x04,0x1C,0x02,0x11,0x0D,0x06,0x06,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x20,0x00,0x00 + .byte 0x01,0x2C,0x02,0x14,0x0D,0x06,0x06,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x02,0x20,0x00,0x00 + .byte 0x0A,0x3C,0x02,0x17,0x0D,0x06,0x06,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x24,0x00,0x00 + .byte 0x07,0x4C,0x02,0x1A,0x0D,0x06,0x06,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x80,0x20,0x00,0x00 + .byte 0x12,0x03,0x03,0x0E,0x10,0x06,0x12,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x0F,0x00,0x24,0x09,0x00,0x00 + .byte 0x08,0x1C,0x03,0x11,0x10,0x09,0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x21,0x00,0x00 + .byte 0x05,0x2C,0x03,0x14,0x10,0x09,0x09,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x20,0x20,0x00,0x00 + .byte 0x02,0x3C,0x03,0x17,0x10,0x09,0x09,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x04,0x20,0x00,0x00 + .byte 0x0B,0x4C,0x03,0x1A,0x10,0x09,0x09,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x28,0x00,0x00 + .align 2 gUnknown_083F8D90:: @ 83F8D90 - .incbin "baserom.gba", 0x003f8d90, 0x4 - -gUnknown_083F8D94:: @ 83F8D94 - .incbin "baserom.gba", 0x003f8d94, 0x5c + .byte 0, 1, 6, 0, 64, 0, 0, 0 + .byte 1, 3, 12, 0, 0, 16, 0, 0 + .byte 2, 5, 18, 0, 0, 0, 4, 0 + .byte 3, 7, 9, 0, 0, 2, 0, 0 + .byte 4, 9, 11, 0, 0, 8, 0, 0 + .byte 5, 11, 17, 0, 0, 0, 2, 0 + .byte 6, 13, 8, 0, 0, 1, 0, 0 + .byte 7, 15, 14, 0, 0, 64, 0, 0 + .byte 8, 17, 16, 0, 0, 0, 1, 0 + .byte 9, 19, 7, 0, 128, 0, 0, 0 + .byte 10, 21, 13, 0, 0, 32, 0, 0 + .byte 11, 23, 19, 0, 0, 0, 8, 0 gUnknown_083F8DF0:: @ 83F8DF0 - .incbin "baserom.gba", 0x003f8df0, 0x4 + .byte 1, 3 + .byte 1, 6 + .align 2 gUnknown_083F8DF4:: @ 83F8DF4 - .incbin "baserom.gba", 0x003f8df4, 0x40 + .byte 0x01,0x3C,0x1E,0x01,0x01,0x00,0x00,0x00,0x2D,0x00,0x1E,0x00,0x01,0x00,0x00,0x00,0x4B,0x00,0x1B,0x00,0x18,0x00,0x00,0x00,0x0A,0x00,0x68,0x01,0x00,0x00,0x00,0xBF + .byte 0x03,0x1E,0x0F,0x01,0x00,0x00,0x00,0x00,0x4B,0x00,0x3C,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x30,0x00,0x00,0x00,0x0A,0x00,0x0E,0x01,0x00,0x00,0x80,0xBF + .align 2 gUnknown_083F8E34:: @ 83F8E34 - .incbin "baserom.gba", 0x003f8e34, 0x68 + .byte 0x00,0x80,0x05,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x0A,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x15,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x55,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x5A,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x65,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x75,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x7A,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x85,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x95,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0x9A,0x00,0x01,0x01,0xFF,0x48 + .byte 0x00,0x80,0xA5,0x00,0x01,0x01,0xFF,0x48 + .byte 0xD6,0x77,0x28,0x00,0x02,0x0A,0xFF,0x4E + .align 1 gUnknown_083F8E9C:: @ 83F8E9C - .incbin "baserom.gba", 0x003f8e9c, 0x18 + .2byte 0x53FF + .2byte 0x0101 + .2byte 0x1E05 + .2byte 0x4EFF + .2byte 0x7FFB + .2byte 0x0106 + .2byte 0x1E05 + .2byte 0x4EFF + .2byte 0x7F7F + .2byte 0x010B + .2byte 0x1E05 + .2byte 0x4EFF .align 2 gUnknown_083F8EB4:: @ 83F8EB4 @@ -52,20 +103,32 @@ gUnknown_083F8EBC:: @ 83F8EBC .4byte sub_811577C .4byte sub_81157AC + .align 1 gUnknown_083F8EC4:: @ 83F8EC4 - .incbin "baserom.gba", 0x003f8ec4, 0x6 + .2byte 0x2898 + .2byte 0x1A6A + .2byte 0x2898 gUnknown_083F8ECA:: @ 83F8ECA - .incbin "baserom.gba", 0x003f8eca, 0x4 + .byte 0xFB, 0x05, 0xFF, 0x01 + .align 1 gUnknown_083F8ECE:: @ 83F8ECE - .incbin "baserom.gba", 0x003f8ece, 0xa + .2byte 0, 180 + .2byte 90, 270 + .align 2 gUnknown_083F8ED8:: @ 83F8ED8 - .incbin "baserom.gba", 0x003f8ed8, 0x10 + .4byte 0x10842 + .4byte 0x21084 + .4byte 0x42108 + .4byte 0x84210 + .align 2 gUnknown_083F8EE8:: @ 83F8EE8 - .incbin "baserom.gba", 0x003f8ee8, 0xc + .4byte 0x3E0 + .4byte 0x7C00 + .4byte 0xF8000 gUnknown_083F8EF4:: @ 83F8EF4 .byte 0, 3, 4, 6, 12 @@ -120,19 +183,19 @@ RouletteSpritePalette_12: .align 2 RouletteSpritePalette_13: - .incbin "baserom.gba", 0x003F907C, 0x20 + .incbin "graphics/roulette/83F907C.gbapal" .align 2 RouletteSpritePalette_14: - .incbin "baserom.gba", 0x003F909C, 0x20 + .incbin "graphics/roulette/83F909C.gbapal" .align 2 RouletteSpritePalette_15: - .incbin "baserom.gba", 0x003F90BC, 0x20 + .incbin "graphics/roulette/83F90BC.gbapal" .align 2 RouletteSpritePalette_16: - .incbin "baserom.gba", 0x003F90DC, 0x20 + .incbin "graphics/roulette/83F90DC.gbapal" .align 2 gUnknown_083F90FC:: @ 83F90FC @@ -594,12 +657,26 @@ gSpriteAnim_83FA38C:: @ 83FA38C obj_image_anim_end .align 2 -Unknown_083FA3A0: - .incbin "baserom.gba", 0x003fa3a0, 0x18 -Unknown_083FA3B8: - .incbin "baserom.gba", 0x003fa3b8, 0x14 -Unknown_083FA3CC: - .incbin "baserom.gba", 0x003fa3cc, 0x8 +gSpriteAnim_83FA3A0:: @ 83FA3A0 + obj_image_anim_frame 1, 2 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 2, 4 + obj_image_anim_frame 3, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83FA3B8:: @ 83FA3B8 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83FA3CC:: @ 83FA3CC + obj_image_anim_frame 3, 0 + obj_image_anim_end .align 2 gSpriteAnim_83FA3D4:: @ 83FA3D4 @@ -616,12 +693,10 @@ gSpriteAnimTable_83FA3E8:: @ 83FA3E8 .4byte gSpriteAnim_83FA378 .4byte gSpriteAnim_83FA38C .4byte gSpriteAnim_83FA3D4 - - .align 2 - .4byte Unknown_083FA3A0 - .4byte Unknown_083FA3B8 - .4byte Unknown_083FA3B8 - .4byte Unknown_083FA3CC + .4byte gSpriteAnim_83FA3A0 + .4byte gSpriteAnim_83FA3B8 + .4byte gSpriteAnim_83FA3B8 + .4byte gSpriteAnim_83FA3CC .align 2 gSpriteTemplate_83FA40C:: @ 83FA40C @@ -755,8 +830,10 @@ gSpriteImageTable_83FA55C: @ 83FA55C obj_frame_tiles 0x02018080, 0x100 .align 2 -gUnknown_083FA564: @ 83FA564 - .incbin "baserom.gba", 0x003fa564, 0x18 +gSpriteAffineAnim_83FA564:: @ 83FA564 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x2, 0x2, 0, 60 + obj_rot_scal_anim_end .align 2 gSpriteAffineAnim_83FA57C:: @ 83FA57C @@ -767,19 +844,21 @@ gSpriteAffineAnim_83FA57C:: @ 83FA57C obj_rot_scal_anim_end .align 2 - .4byte gUnknown_083FA564 +gSpriteAffineAnimTable_83FA5A4:: @ 83FA5A4 + .4byte gSpriteAffineAnim_83FA564 .align 2 gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8 .4byte gSpriteAffineAnim_83FA57C .align 2 -gUnknown_083FA5AC:: @ 83FA5AC - .incbin "baserom.gba", 0x003fa5ac, 0x10 +gSpriteAffineAnim_83FA5AC:: @ 83FA5AC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end .align 2 -@ unreferenced - .4byte gUnknown_083FA5AC +gSpriteAffineAnimTable_83FA5BC:: @ 83FA5BC + .4byte gSpriteAffineAnim_83FA5AC .align 2 gSpriteTemplate_83FA5C0:: @ 83FA5C0 @@ -794,24 +873,46 @@ gSpriteTemplate_83FA5F0:: @ 83FA5F0 spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80 gUnknown_083FA608:: @ 83FA608 - .incbin "baserom.gba", 0x003fa608, 0x6 + .byte 0, 1, 2, 3, 4 .align 1 gUnknown_083FA60E:: @ 83FA60E .2byte 0x74, 0x2C .2byte 0x74, 0x70 + .align 1 gUnknown_083FA616:: @ 83FA616 - .incbin "baserom.gba", 0x003fa616, 0x8 + .2byte 256, 84 + .2byte -16, 84 + .align 1 gUnknown_083FA61E:: @ 83FA61E - .incbin "baserom.gba", 0x003fa61e, 0x14 + .2byte 0x907 + .2byte 0x808 + .2byte 0x709 + .2byte 0x60A + .2byte 0x50B + .2byte 0x40C + .2byte 0x30D + .2byte 0x20E + .2byte 0x10F + .2byte 0x10 + .align 1 gUnknown_083FA632:: @ 83FA632 - .incbin "baserom.gba", 0x003fa632, 0x18 + .2byte -1, 0, 1, 0 + .2byte -2, 0, 2, 0 + .2byte -3, 0, 3, 0 gUnknown_083FA64A:: @ 83FA64A .byte -1, 1 gUnknown_083FA64C:: @ 83FA64C - .incbin "baserom.gba", 0x003fa64c, 0x10 + .byte 2, 0 + .byte 2, 0 + .byte 2, -1 + .byte 2, -1 + .byte 2, -1 + .byte 2, -1 + .byte 2, -2 + .byte 2, -2 diff --git a/data/save_failed_screen.s b/data/save_failed_screen.s index 70cc27fa8..5d22810ea 100644 --- a/data/save_failed_screen.s +++ b/data/save_failed_screen.s @@ -3,12 +3,6 @@ .section .rodata -gUnknown_08411940:: @ 8411940 - .incbin "baserom.gba", 0x00411940, 0x8 - -gUnknown_08411948:: @ 8411948 - .incbin "baserom.gba", 0x00411948, 0x18 - gSaveFailedClockPal:: @ 8411960 .incbin "graphics/misc/clock_small.gbapal" diff --git a/data/secret_base.s b/data/secret_base.s index 733259b3e..59ded8ddf 100644 --- a/data/secret_base.s +++ b/data/secret_base.s @@ -3,11 +3,65 @@ .section .rodata + .align 1 gUnknown_083D1358:: @ 83D1358 - .incbin "baserom.gba", 0x003d1358, 0x1c + .2byte 0x26, 0x36 + .2byte 0x27, 0x37 + .2byte 0x1A0, 0x1A1 + .2byte 0x1A8, 0x1A9 + .2byte 0x1B0, 0x1B1 + .2byte 0x208, 0x210 + .2byte 0x271, 0x278 gUnknown_083D1374:: @ 83D1374 - .incbin "baserom.gba", 0x003d1374, 0x60 + .byte 0, 0 + .byte 1, 3 + .byte 6, 0 + .byte 5, 9 + .byte 12, 0 + .byte 1, 3 + .byte 18, 0 + .byte 7, 13 + .byte 1, 0 + .byte 2, 3 + .byte 7, 0 + .byte 9, 2 + .byte 13, 0 + .byte 13, 4 + .byte 19, 0 + .byte 1, 2 + .byte 2, 0 + .byte 1, 3 + .byte 8, 0 + .byte 1, 2 + .byte 14, 0 + .byte 3, 15 + .byte 20, 0 + .byte 3, 14 + .byte 3, 0 + .byte 9, 3 + .byte 9, 0 + .byte 8, 7 + .byte 15, 0 + .byte 3, 6 + .byte 21, 0 + .byte 5, 9 + .byte 4, 0 + .byte 2, 3 + .byte 10, 0 + .byte 5, 6 + .byte 16, 0 + .byte 15, 3 + .byte 22, 0 + .byte 4, 10 + .byte 5, 0 + .byte 3, 3 + .byte 11, 0 + .byte 1, 2 + .byte 17, 0 + .byte 7, 8 + .byte 23, 0 + .byte 9, 6 .align 2 gUnknown_083D13D4:: @ 83D13D4 @@ -20,4 +74,4 @@ gUnknown_083D13E4:: @ 83D13E4 .4byte sub_80BCBC0 gUnknown_083D13EC:: @ 83D13EC - .incbin "baserom.gba", 0x003d13ec, 0xc + .byte 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0 diff --git a/data/starter_choose.s b/data/starter_choose.s index 679f0f4d0..4c549b449 100644 --- a/data/starter_choose.s +++ b/data/starter_choose.s @@ -73,7 +73,10 @@ gOamData_83F76DC:: @ 83F76DC .align 2 gUnknown_083F76E4:: @ 83F76E4 - .incbin "baserom.gba", 0x003f76e4, 0x8 + .byte 60, 32 + .byte 120, 56 + .byte 180, 32 + .byte 0, 0 .align 2 gSpriteAnim_83F76EC:: @ 83F76EC @@ -124,8 +127,11 @@ gSpriteAnimTable_83F7750:: @ 83F7750 gSpriteAnimTable_83F7758:: @ 83F7758 .4byte gSpriteAnim_83F7744 -Unknown_83F775C: - .incbin "baserom.gba", 0x003f775c, 0x18 + .align 2 +gSpriteAffineAnim_83F775C:: @ 83F775C + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 15 + obj_rot_scal_anim_end .align 2 gSpriteAffineAnim_83F7774:: @ 83F7774 @@ -134,8 +140,8 @@ gSpriteAffineAnim_83F7774:: @ 83F7774 obj_rot_scal_anim_end .align 2 -gUnknown_083F778C:: @ 83F778C - .4byte Unknown_83F775C +gSpriteAffineAnimTable_83F778C:: @ 83F778C + .4byte gSpriteAffineAnim_83F775C .align 2 gSpriteAffineAnimTable_83F7790:: @ 83F7790 diff --git a/data/text/credits.inc b/data/text/credits.inc index 2f7aa5478..29abccf91 100644 --- a/data/text/credits.inc +++ b/data/text/credits.inc @@ -703,256 +703,307 @@ gCreditsEntryPointerTable:: @ 840C5F0 .4byte CreditsCredits .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsDirector .4byte CreditsMasuda .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsArtDirector .4byte CreditsSugimori .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsBattleDirector .4byte CreditsMorimoto .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsMainProgrammer .4byte CreditsTetsuyaWatanabe .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsBattleSystemProgrammer .4byte CreditsSogabe .4byte CreditsFieldSystemProgrammer .4byte CreditsTamada .4byte CreditsTerminator + .4byte CreditsProgrammers .4byte CreditsMori .4byte CreditsKagaya .4byte CreditsMatsuda .4byte CreditsTerminator + .4byte CreditsProgrammers .4byte CreditsHiroyukiNakamura .4byte CreditsTaya .4byte CreditsNohara .4byte CreditsTerminator + .4byte CreditsProgrammers .4byte CreditsTomomichiOhta .4byte CreditsIwasawa .4byte CreditsTakenoriOhta .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsMainGraphicDesigner .4byte CreditsYoshida .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsPOKeMONGraphicDesigners .4byte CreditsSugimori .4byte CreditsYoshida .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsPOKeMONGraphicDesigners .4byte CreditsFujiwara .4byte CreditsSatoshiOhta .4byte CreditsIwashita .4byte CreditsTerminator + .4byte CreditsPOKeMONGraphicDesigners .4byte CreditsTomita .4byte CreditsUnno .4byte CreditsEo .4byte CreditsTerminator + .4byte CreditsPOKeMONDesigners .4byte CreditsMorimoto .4byte CreditsOkutani .4byte CreditsNishida .4byte CreditsTerminator + .4byte CreditsPOKeMONDesigners .4byte CreditsSaito .4byte CreditsYoshikawa .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsMusicComposition .4byte CreditsIchinose .4byte CreditsAoki .4byte CreditsMasuda .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsSoundEffectsPOKeMONVoices .4byte CreditsAoki .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsGameDesigners .4byte CreditsMasuda .4byte CreditsMorimoto .4byte CreditsNishino .4byte CreditsTerminator + .4byte CreditsGameDesigners .4byte CreditsMatsushima .4byte CreditsTetsujiOhta .4byte CreditsSato .4byte CreditsKawachimaru + .4byte CreditsGameDesigners .4byte CreditsShimoyamada .4byte CreditsOhmori .4byte CreditsTakahashi .4byte CreditsTerminator + .4byte CreditsPlotScenario .4byte CreditsMasuda .4byte CreditsTomisawa .4byte CreditsNishino .4byte CreditsTerminator + .4byte CreditsGameScenario .4byte CreditsToshinobuMatsumiya .4byte CreditsTomisawa .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsScriptDesigners .4byte CreditsNohara .4byte CreditsTetsujiOhta .4byte CreditsTomomichiOhta .4byte CreditsTerminator + .4byte CreditsMapDesigners .4byte CreditsOhmori .4byte CreditsTetsujiOhta .4byte CreditsNishino .4byte CreditsTerminator + .4byte CreditsMapDataDesigners .4byte CreditsTetsujiOhta .4byte CreditsTakahashi .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsParametricDesigners .4byte CreditsNishino .4byte CreditsMorimoto .4byte CreditsTetsujiOhta .4byte CreditsShimoyamada + .4byte CreditsTerminator .4byte CreditsPOKeDEXText .4byte CreditsMatsushima .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsEnvironmentToolProgrammers .4byte CreditsSogabe .4byte CreditsTamada .4byte CreditsHiroyukiNakamura .4byte CreditsMori + .4byte CreditsProductTesting .4byte CreditsSuperMarioClub .4byte CreditsTada .4byte CreditsOhnishi .4byte CreditsOkamura + .4byte CreditsSpecialThanks .4byte CreditsTominaga .4byte CreditsYoshiroTajiri .4byte CreditsSasaki .4byte CreditsTerminator + .4byte CreditsSpecialThanks .4byte CreditsHamano .4byte CreditsChieMatsumiya .4byte CreditsShinozaki .4byte CreditsFujii + .4byte CreditsSpecialThanks .4byte CreditsSuyama .4byte CreditsMitsuhara .4byte CreditsKomura .4byte CreditsOhashi + .4byte CreditsSpecialThanks .4byte CreditsTakizawa .4byte CreditsTakada .4byte CreditsKondo .4byte CreditsMashima + .4byte CreditsInformationSupervisors .4byte CreditsEnomoto .4byte CreditsTerada .4byte CreditsSakurai .4byte CreditsSagawa + .4byte CreditsCoordinators .4byte CreditsKyokoWatanabe .4byte CreditsNakano .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTaskManagers .4byte CreditsYamagami .4byte CreditsNomoto .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsProducers .4byte CreditsJinnai .4byte CreditsIzushi .4byte CreditsTsuru .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsExecutiveDirector .4byte CreditsSatoshiTajiri .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsExecutiveProducers .4byte CreditsIwata .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsExecutiveProducers .4byte CreditsIshihara .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsEnglishVersionCoordinators .4byte CreditsHiroNakamura .4byte CreditsMcMahill .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsTranslator .4byte CreditsOgasawara .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsProgrammers .4byte CreditsMurakawa .4byte CreditsYamamoto .4byte CreditsFunakoshi .4byte CreditsKinashi + .4byte CreditsGraphicDesigners .4byte CreditsYamamoto .4byte CreditsKinashi .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsProductSupport .4byte CreditsNakamichi .4byte CreditsHara .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsArtwork .4byte CreditsOkada .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsTerminator .4byte CreditsTextEditor .4byte CreditsLillygren .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsNOAProductTesting .4byte CreditsHertzog .4byte CreditsRidgeway .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsBrailleCodeCheck .4byte CreditsNFotB .4byte CreditsMaurer .4byte CreditsJapanBrailleLibrary .4byte CreditsEBU + .4byte CreditsBrailleCodeCheck .4byte CreditsABA .4byte CreditsRNZFotB .4byte CreditsTerminator .4byte CreditsTerminator + .4byte CreditsSpecialThanks .4byte CreditsFord .4byte CreditsBarlow .4byte CreditsUesugi .4byte CreditsUyama + .4byte CreditsSpecialThanks .4byte CreditsHowitt .4byte CreditsTilden diff --git a/data/title_screen.s b/data/title_screen.s index b5e791273..7c818eeb2 100644 --- a/data/title_screen.s +++ b/data/title_screen.s @@ -41,8 +41,40 @@ gUnknown_08393BF8:: @ 8393BF8 LogoShineTiles: @ 8393D14 .incbin "graphics/title_screen/logo_shine.4bpp.lz" + .align 1 gUnknown_08393E64:: @ 8393E64 - .incbin "baserom.gba", 0x00393e64, 0x40 + .2byte 0x10 + .2byte 0x110 + .2byte 0x210 + .2byte 0x310 + .2byte 0x410 + .2byte 0x510 + .2byte 0x610 + .2byte 0x710 + .2byte 0x810 + .2byte 0x910 + .2byte 0xA10 + .2byte 0xB10 + .2byte 0xC10 + .2byte 0xD10 + .2byte 0xE10 + .2byte 0xF10 + .2byte 0x100F + .2byte 0x100E + .2byte 0x100D + .2byte 0x100C + .2byte 0x100B + .2byte 0x100A + .2byte 0x1009 + .2byte 0x1008 + .2byte 0x1007 + .2byte 0x1006 + .2byte 0x1005 + .2byte 0x1004 + .2byte 0x1003 + .2byte 0x1002 + .2byte 0x1001 + .2byte 0x1000 .align 2 gOamData_8393EA4:: @ 8393EA4 diff --git a/data/trainer_card.s b/data/trainer_card.s index d7d71fb68..e73af87a2 100644 --- a/data/trainer_card.s +++ b/data/trainer_card.s @@ -7,8 +7,9 @@ gBadgesTiles:: @ 83B5AB8 .incbin "graphics/trainer_card/badges.4bpp" +@ XXX: what is this? .align 2 - .4byte 0x02000000 @ XXX + .4byte 0x2000000 .align 2 gUnknown_083B5EBC:: @ 83B5EBC diff --git a/graphics/interface/83E5948.pal b/graphics/interface/83E5948.pal new file mode 100644 index 000000000..570af0a23 --- /dev/null +++ b/graphics/interface/83E5948.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 197 131 +255 123 90 +131 0 0 +0 0 0 +238 238 238 +197 197 197 +148 148 148 +255 0 0 +180 0 0 +255 197 197 +82 82 255 +49 49 180 +197 197 255 +90 90 98 +0 0 0 +0 0 0 diff --git a/graphics/misc/option_menu_equals_sign.png b/graphics/misc/option_menu_equals_sign.png Binary files differnew file mode 100644 index 000000000..7e56e3cc3 --- /dev/null +++ b/graphics/misc/option_menu_equals_sign.png diff --git a/graphics/misc/option_menu_text.pal b/graphics/misc/option_menu_text.pal new file mode 100644 index 000000000..5e136a7ff --- /dev/null +++ b/graphics/misc/option_menu_text.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 139 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 49 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 180 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 123 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokenav/83DFECC.pal b/graphics/pokenav/83DFECC.pal new file mode 100644 index 000000000..16e02a3c9 --- /dev/null +++ b/graphics/pokenav/83DFECC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 0 0 +0 0 0 +82 106 106 +213 213 172 +57 65 74 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 246 213 diff --git a/graphics/pokenav/83DFEEC.png b/graphics/pokenav/83DFEEC.png Binary files differnew file mode 100644 index 000000000..8b3a39ed5 --- /dev/null +++ b/graphics/pokenav/83DFEEC.png diff --git a/graphics/pokenav/83DFF8C.bin b/graphics/pokenav/83DFF8C.bin Binary files differnew file mode 100644 index 000000000..9f0d9eb2f --- /dev/null +++ b/graphics/pokenav/83DFF8C.bin diff --git a/graphics/pokenav/83E003C.pal b/graphics/pokenav/83E003C.pal new file mode 100644 index 000000000..8d1f2cb75 --- /dev/null +++ b/graphics/pokenav/83E003C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +238 238 230 +238 230 255 +213 197 255 +255 222 213 +255 189 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/83E005C.png b/graphics/pokenav/83E005C.png Binary files differnew file mode 100644 index 000000000..b34d17411 --- /dev/null +++ b/graphics/pokenav/83E005C.png diff --git a/graphics/pokenav/83E007C.bin b/graphics/pokenav/83E007C.bin Binary files differnew file mode 100644 index 000000000..c2ba207a4 --- /dev/null +++ b/graphics/pokenav/83E007C.bin diff --git a/graphics/pokenav/83E0124_pal.bin b/graphics/pokenav/83E0124_pal.bin Binary files differnew file mode 100644 index 000000000..b1a4230d4 --- /dev/null +++ b/graphics/pokenav/83E0124_pal.bin diff --git a/graphics/pokenav/83E0144_pal.bin b/graphics/pokenav/83E0144_pal.bin Binary files differnew file mode 100644 index 000000000..6ea1b763c --- /dev/null +++ b/graphics/pokenav/83E0144_pal.bin diff --git a/graphics/pokenav/83E0164.bin b/graphics/pokenav/83E0164.bin Binary files differnew file mode 100644 index 000000000..d5b3d5a18 --- /dev/null +++ b/graphics/pokenav/83E0164.bin diff --git a/graphics/pokenav/83E01AC.bin b/graphics/pokenav/83E01AC.bin new file mode 100644 index 000000000..6dffc2ac5 --- /dev/null +++ b/graphics/pokenav/83E01AC.bin @@ -0,0 +1 @@ +""""""""&""""""""""""""""""""""""""&
\ No newline at end of file diff --git a/graphics/pokenav/83E01F4.bin b/graphics/pokenav/83E01F4.bin new file mode 100644 index 000000000..7928705a9 --- /dev/null +++ b/graphics/pokenav/83E01F4.bin @@ -0,0 +1 @@ +"""""""""""&"""""""""""""""""""""""""""""""""""&
\ No newline at end of file diff --git a/graphics/pokenav/83E0254.pal b/graphics/pokenav/83E0254.pal new file mode 100644 index 000000000..98c309d52 --- /dev/null +++ b/graphics/pokenav/83E0254.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 diff --git a/graphics/pokenav/83E0274.pal b/graphics/pokenav/83E0274.pal new file mode 100644 index 000000000..4755184e2 --- /dev/null +++ b/graphics/pokenav/83E0274.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 65 +49 65 74 +106 115 123 +255 255 255 +189 106 115 +255 156 156 +255 222 205 +180 131 156 +189 139 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +255 139 0 diff --git a/graphics/pokenav/83E02B4.pal b/graphics/pokenav/83E02B4.pal new file mode 100644 index 000000000..7af9ff8e1 --- /dev/null +++ b/graphics/pokenav/83E02B4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 82 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 156 156 diff --git a/graphics/pokenav/83E02D4.bin b/graphics/pokenav/83E02D4.bin Binary files differnew file mode 100644 index 000000000..dc7b2901f --- /dev/null +++ b/graphics/pokenav/83E02D4.bin diff --git a/graphics/pokenav/83E0314.pal b/graphics/pokenav/83E0314.pal new file mode 100644 index 000000000..3b2faa935 --- /dev/null +++ b/graphics/pokenav/83E0314.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 8 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +57 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 156 156 diff --git a/graphics/pokenav/83E03A8.pal b/graphics/pokenav/83E03A8.pal new file mode 100644 index 000000000..ba97343c5 --- /dev/null +++ b/graphics/pokenav/83E03A8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 205 222 diff --git a/graphics/pokenav/83E03C8.bin b/graphics/pokenav/83E03C8.bin Binary files differnew file mode 100644 index 000000000..20e73b807 --- /dev/null +++ b/graphics/pokenav/83E03C8.bin diff --git a/graphics/pokenav/83E3780.png b/graphics/pokenav/83E3780.png Binary files differnew file mode 100644 index 000000000..84c74462d --- /dev/null +++ b/graphics/pokenav/83E3780.png diff --git a/graphics/pokenav/83E3BC0.bin b/graphics/pokenav/83E3BC0.bin Binary files differnew file mode 100644 index 000000000..161928e5c --- /dev/null +++ b/graphics/pokenav/83E3BC0.bin diff --git a/graphics/pokenav/83E42D8.pal b/graphics/pokenav/83E42D8.pal new file mode 100644 index 000000000..f30ee169b --- /dev/null +++ b/graphics/pokenav/83E42D8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/pokenav/83E4678.pal b/graphics/pokenav/83E4678.pal new file mode 100644 index 000000000..9b39ac8cf --- /dev/null +++ b/graphics/pokenav/83E4678.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 222 246 +164 197 230 +172 205 230 +255 255 255 +230 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/roulette/83F86BC.pal b/graphics/roulette/83F86BC.pal new file mode 100644 index 000000000..ed68618ff --- /dev/null +++ b/graphics/roulette/83F86BC.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +82 156 49 +41 41 41 +98 98 115 +172 180 197 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 0 +74 106 156 +41 41 41 +98 98 115 +156 156 164 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 106 156 +41 41 41 +123 123 131 +172 180 197 +255 255 255 +238 238 156 +189 180 106 +131 90 32 +255 131 90 +189 106 98 +230 222 255 +74 189 156 +255 255 255 +123 180 172 +255 255 255 +255 255 255 +74 106 156 +57 57 65 +98 98 115 +156 156 164 +255 255 255 +106 205 205 +246 98 90 +106 156 255 +255 255 255 +156 255 106 +246 230 74 +255 230 123 +255 255 255 +255 255 156 +156 255 148 +205 156 255 +74 106 156 +41 41 41 +98 98 115 +205 205 213 +255 255 255 +123 238 139 +255 172 139 +16 156 74 +197 164 255 +49 106 32 +115 197 131 +197 139 189 +255 82 57 +255 238 82 +205 180 8 +255 205 8 +74 106 156 +106 139 230 +82 115 205 +255 255 255 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 255 +74 106 156 +255 246 65 +255 255 164 +255 246 65 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +172 255 238 +222 255 255 +148 255 238 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +65 65 57 +74 106 156 +255 205 255 +255 222 255 +255 197 255 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 255 +74 106 156 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 106 156 +255 246 82 +164 255 222 +172 180 197 +255 255 255 +255 246 65 +246 205 24 +238 197 98 +205 172 90 +164 131 90 +156 246 222 +90 213 180 +131 222 172 +115 189 156 +98 148 148 +65 65 57 +74 106 156 +238 189 238 +156 148 148 +172 180 197 +255 255 255 +255 205 255 +222 156 230 +197 156 197 +172 139 172 +139 106 148 +205 205 230 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +238 230 246 +205 205 230 +172 180 197 +255 255 255 +255 255 230 +255 255 164 +255 255 255 +222 255 255 +255 246 255 +255 222 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/roulette/83F88BC.bin b/graphics/roulette/83F88BC.bin Binary files differnew file mode 100644 index 000000000..6950027c3 --- /dev/null +++ b/graphics/roulette/83F88BC.bin diff --git a/graphics/roulette/83F907C.pal b/graphics/roulette/83F907C.pal new file mode 100644 index 000000000..9d44b25c8 --- /dev/null +++ b/graphics/roulette/83F907C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +106 222 222 +246 98 90 +222 255 255 +106 222 222 +246 98 90 +255 222 255 +106 222 222 +246 98 90 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/83F909C.pal b/graphics/roulette/83F909C.pal new file mode 100644 index 000000000..81b0328a5 --- /dev/null +++ b/graphics/roulette/83F909C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +106 156 255 +222 222 230 +222 255 255 +106 156 255 +222 222 230 +255 222 255 +106 156 255 +222 222 230 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/83F90BC.pal b/graphics/roulette/83F90BC.pal new file mode 100644 index 000000000..42a1bae94 --- /dev/null +++ b/graphics/roulette/83F90BC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +255 156 139 +246 246 156 +222 255 255 +255 156 139 +246 246 156 +255 222 255 +255 156 139 +246 246 156 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/83F90DC.pal b/graphics/roulette/83F90DC.pal new file mode 100644 index 000000000..ff76379c8 --- /dev/null +++ b/graphics/roulette/83F90DC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +255 230 123 +222 222 230 +222 255 255 +255 230 123 +222 222 230 +255 222 255 +255 230 123 +222 222 230 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/center.pal b/graphics/roulette/center.pal deleted file mode 100755 index 5eb074037..000000000 --- a/graphics/roulette/center.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -41 41 41 -123 123 131 -172 180 197 -255 255 255 -238 238 156 -189 180 106 -131 90 32 -255 131 90 -189 106 98 -230 222 255 -74 189 156 -255 255 255 -123 180 172 -255 255 255 -255 255 255 diff --git a/graphics/roulette/wheel.png b/graphics/roulette/wheel.png Binary files differnew file mode 100644 index 000000000..a0f121843 --- /dev/null +++ b/graphics/roulette/wheel.png diff --git a/graphics/roulette/wheel_map.bin b/graphics/roulette/wheel_map.bin Binary files differnew file mode 100644 index 000000000..53d919545 --- /dev/null +++ b/graphics/roulette/wheel_map.bin diff --git a/graphics/unknown/83764A4.pal b/graphics/unknown/83764A4.pal new file mode 100644 index 000000000..b2e8a5f5f --- /dev/null +++ b/graphics/unknown/83764A4.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +255 0 0 +74 74 74 +0 0 0 diff --git a/graphics/unknown/83C170C.pal b/graphics/unknown/83C170C.pal new file mode 100644 index 000000000..328b93f67 --- /dev/null +++ b/graphics/unknown/83C170C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +41 82 115 +255 230 172 +255 197 90 +255 32 32 +106 180 213 +41 123 164 +189 156 90 +0 0 0 diff --git a/graphics/unknown/unknown_E81098.bin b/graphics/unknown/unknown_E81098.bin deleted file mode 100755 index 4cc6a9b90..000000000 --- a/graphics/unknown/unknown_E81098.bin +++ /dev/null @@ -1,189 +0,0 @@ -QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''''''''''''''''''''''&&QQQQQQQQQQQQQQ'''''''''''''''''''''''&&&'&&&&&&&&&&&&&%%QQQ'))))''''))))''''))))''''&&&&&&&&&&&&&&&&%%%%%%%%%%%%))))))))))))))))))))))))&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%QQQ))))'))))''''))))''''&&&&''''&&&&&&&&%%%%&&&&%%%%%%%%QQQQQQQQQQQQQ'''Q'''''''''''''''&&&'''''&&&&&&&'%%&&&&&&QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQ''''''''''''''&&''''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQ''QQ''''Q'''''''''''&'''''&&&Q''''''''''''''''''&&''''&&&&''&&&&&%&&&&%%%%&&&%%%%%&%%%%%%%'''&&&&&&&&&&&%%&&&%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&'''%%&&&&&&%%%%%&&&%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'''''Q'''''''&&''''''&&&&''''%&&&&&''%%%%&&&&%%%%%&&&%%%%%%%&QQQQQQQQQQQQQQQ'QQQQQ''QQQQ''''QQ'''''Q&''''''&&&'''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)QQQQQ))QQQQQ''QQQ'''QQ))'''Q))))'&)))))&&)))))&&&))))&&&%)))&&&%%'''&&&&%''&&&&%%'&&&%%%%&&&%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -%%&&&&'''%%&&&&''%%%%&&&'%%%%%&&&%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%''QQQQQ'''QQQ'''))QQ&'))))Q&&)))))&&&)))))%&&&))))%%&&&)))QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQ)))QQQ))))QQ)))))Q)))))&Q))))&&''))&&&''''&&&%'''&&&%%))&&&%%%)&&&%%%%&&&%%%%%&&%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&
%% - - - - -%%% - - - - -%% - - - - - -& - - - - - - -&
- - - - - -
- - - -
- - -
- -%%%%%%%% - -%%%%%% - - -%%%%% - - - -%%%% - - - - -%%% - - - - - - -% - - - - - - - - - - - - - - - -%%%&&&))%%%%&&&)%%%%%&&&%%%%%%&&%%%%%%%&%%%%%%%%%%%%%%%% -%%%%%%%QQQQQQ'QQQQQ''QQQQ'''QQQQ'''QQQ''''QQ''''&QQ''''&Q''''&&'''&&%%%''&&%%%%'&&&%%%%&&&%%%%%&&%%%%%%&&%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&& &&
&&
&&
&&
&&
&
- - - - - - - - - - - - - - -
- - - - - -
- - - - -
- - - -
- - -
- -
- - -%%%%%% - - -%%%%% - - -%%%%% - - - -%%%% - - - - -%%% - - - - - -%% - - - - - - -% - - - - - - -%QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ'QQQQQQ'Q'''&&&''''&&%'''&&&%''''&&%%'''&&%%%'''&&%%%''&&&%%%''&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&
- - - - - - - - - - - - - - - -
- - - - - - -
- - - - - -
- - - -%%
-%%%%
&%%
&&&&QQQQQ''QQQQQ''QQQQ'''QQQQ'''QQQQ'''QQQ''''QQQ'''&QQQ'''&'&&&%%%%'&&%%%%%'&&%%%%%&&%%%%%%&&%%%%%%&&%%%%%%&%%%%%%%&%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&
&&
&&&
&&&
&&&&&&&&QQQ'''&QQ'''&&QQ'''&&QQ'''&&QQ'''&&Q'''&&&Q'''&&%Q'''&&%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Q'''&&%Q'''&&%Q'''&&%''''&&%)))&&%%)))&&%%)))&&%%)))&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% )))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&XXXXXXXXXXXXXXXXXXXXXXXX)))&&%%)))&&%%)))&&%%)))&&%%''''&&%Q'''&&%Q'''&&%Q'''&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXQ'''&&%Q'''&&%Q'''&&&QQ'''&&QQ'''&&QQ'''&&QQ'''&&QQQ'''&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%
X XX XX XX XXX XXX XXXX XXXXQQQ'''&QQQ'''&QQQ''''QQQQ'''QQQQ'''QQQQ'''QQQQQ''QQQQQ''&%%%%%%%&%%%%%%%&&%%%%%%&&%%%%%%&&%%%%%%'&&%%%%%'&&%%%%%'&&&%%%%%%%%%%%%%%%%%%&&&&&&&&}&&&}}&&&}}}}}&&}}}}}}}}}}}}}}
}}
]] XXXXX XXXXX&XXXXX]&&&XXX]]&&&XX]]]]]&&&]]]]]]&&]]]]]]]]XXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXUXXXXXXWUXXXXXXUU&XXXXWUU&&&XXUUUQQQQQQ'QQQQQQ'QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ''&&%%%%''&&&%%%'''&&%%%'''&&%%%''''&&%%'''&&&%''''&&%Q'''&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%z%%%%%%%z%%%%%%%%&&&&}%%&}}}%%%%z}}}%%zzzz}}zzzzzz|}zzzzzzz}zzzzzzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}}}
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]&&&&UUU]]]&%%UU]]]Z%%%%]]ZZZZ%%]\ZZZZZZ]ZZZZZZZZZZZZZZZZZZZZZZZQ''''&&QQ''''&QQ''''&QQQ''''QQQQ'''QQQQ'''QQQQQ''QQQQQQ'%%%%%%%%&%%%%%%%&&%%%%%%&&%%%%%%&&&%%%%%'&&&%%%%''&&%%%%'''&&%%%%zzzzzzz%zzzzzzz%%zzzzzz%%%zzzzz%%%%zzzz%%%%%zzz%%%%%zzz%%%%%%zzz|}}}}}}zz}}}}}}zzz}}}}}zzzz}}}}zzzzz}}}zzzzzz}}zzzzzzz|zzzzzzzz}}}}}}}}}& }}}}}&& }}}}&&xx}}}}&&xx}}}&&xxx}}&&xxxx}}&&xxxx x xxx xxxxxx xxxxxxxxxxxxxxxx x xxxxxx hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh]]]]&]]]]]&&]]]]]hh&&]]]]hh&&]]]]hhh&&]]]hhhh&&]]hhhh&&]]]]]]]]\Z]]]]]]ZZ]]]]]ZZZ]]]]ZZZZ]]]ZZZZZ]]ZZZZZZ\ZZZZZZZZZZZZZZZZZZZZZZ%ZZZZZZZ%ZZZZZZ%%ZZZZZ%%%ZZZZ%%%%ZZZ%%%%%ZZZ%%%%%ZZ%%%%%%QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''&&&%%''''&&&%''))&&&Q))))&&Q)))))&QQ)))))QQQ))))QQQQ)))%%%%%%%z%%%%%%%%%%%%%%%%&%%%%%%%&&%%%%%%&&&%%%%%)&&&%%%%))&&&%%%zzzzzzzzzzzzzzzz%zzzzzzz%%%zzzzz%%%%zzzz%%%%%zzz%%%%%%zz%%%%%%%%zz}}}}}}zzz}}}}}zzzz|}}}zzzzzz}&zzzzzzz&zzzzzz%%zzzzz%%%zzzzz%%u}&&xxxxx}&&xxxxx&&xxxxxx&xxxxxxx&xxxxxxxuwxxxxxxuuuwxxxxuuuuuwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh&&]hhhhh&&]hhhhhh&&hhhhhhh&hhhhhhh&hhhhhhgehhhhgeeehhgeeeee]]]]]]ZZ]]]]]ZZZ]]]\ZZZZ&]ZZZZZZ&ZZZZZZZ%%ZZZZZZ%%%ZZZZZe%%ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ%ZZZZZ%%%ZZZZ%%%%ZZZ%%%%%ZZ%%%%%%%%%%%%%%Z%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%&&%%%%%&&&%%%%&&&)%%%&&&))QQQQQ))QQQQQQ)QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)))&&&%%))))&&&%)))))&&&)))))&&Q))))'&QQ))'''QQQ'''QQQQQ''%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%&&&%%%%%'&&&%%%%''&&&&%%'''&&&&%%zzz%%%u%%%%%%uu%%%%%uuu%%%%%%uu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%uuuuuuuwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu%%uuuuuu%%%%%uuu%%%%%%%uxxxxxxxxuuwxxxxxuuuuuuwxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxuuuwxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhuuu%%eeeuuu%%eeeuuu%%eeeuuu%%eeehhhhhhhhhhhhhhhhhhhhhhhhhhhhgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeehhhhhhhhhhhhhgeehgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee%%eee%%%%%e%%%%%%%e%%%ZZZ%ee%%%%%%eee%%%%%ee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%&&&%%%%&&&'%%&&&&''%&&&&'''%%&&&)))%&&&))))&&&)))))&&)))))&'))))Q'''))QQ'''QQQ''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''''&&&''''''&Q'''''QQ''''QQQQ''QQQQQ'QQQQQQQQQQQQQQQ&%%%%%%%&&&%%%%%&&&&%%%%''&&&&&%''''&&&&''''''&&'''''''Q'''''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%&&&%%%%%&&&&&&%%'''&&&&&%%uuuuuu%%%%%%uu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%uuuuuuuuuuuuuuuu%%%%uuuu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%uuu%%eeeuuu%%eeeuuu%%eee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%eeeeeeeeeeeeeeeeeeee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%eeeeee%%ee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%&&&%%&&&&&&&&&&&'''%%%%%%%&%%%%%&&&%%%%&&&&%&&&&&''&&&&''''&&''''''''''''''''''Q&&&'''''&'''''''''''Q''''QQ''QQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ''''''&&''''''''''''''QQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ&&&&&&%%'&&&&&&&'''''&&&'''''''''''''''Q'''QQQQQQQQQQQQQ%%%%%%%%&&&&%%%%&&&&&&&&''''&&&&''''))))''''))))'))))QQQ%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&))))))))))))))))))))))))%%%%%%%%%%%%&&&&&&&&&&&&&&&&''''))))''''))))''''))))'QQQ%%&&&&&&&&&&&&&'&&&'''''''''''''''''''''''QQQQQQQQQQQQQQ&&'''''''''''''''''''''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)QQQQQQ))QQQQQ)))QQQQ))))QQQ)))))QQ&)))))Q&&))))Q&&&))''%&&&''''%%&&&'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ%%%&&'''%%%%&&''%%%%&&&'%%%%%&&&%%%%%%&&%%%%%%&&%%%%%%%&%%%%%%%%'QQQQQQ''QQQQQ'''QQQQ'''QQQQ''''QQQ&''''QQ&''''QQ&&''''Q%%%%%%%% -%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&'''Q%&&''''%&&&'''%%&&''''%%%&&'''%%%&&'''%%%&&&''%%%%&&''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ'QQQQQQ'QQQQQQ%%%%%%%%%%%%%%%%%%&&&'%%%%%&&'%%%%%&&'%%%%%%&&%%%%%%&&%%%%%%&&%%%%%%%&%%%%%%%&''QQQQQ''QQQQQ'''QQQQ'''QQQQ'''QQQQ''''QQQ&'''QQQ&'''QQQ%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&'''QQQ&&'''QQ&&'''QQ&&'''QQ&&'''QQ&&&'''Q%&&'''Q%&&'''Q%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&'''Q%&&'''Q%&&'''Q%&&''''%%&&)))%%&&)))%%&&)))%%&&)))&&&&%%%%&&&&%%%%XXXXUUUUXXXXUUUUXXXXUUUU%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%UUU%%%%%UUU%%%%%UUU%%%%%%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))XXXXUUUUXXXXUUUUXXXXUUUUXXXWUUUUXXXUUUUUXXXUUUUUXXXUUUUUXXXUUUUUUUU%%%%%UUU%%%%%UUU%%%%%UUU%%%%%UU%%%%%%UU%%%%%%UU%%%%%%UU%%%%%%%%&&)))%%&&)))%%&&)))%%&&)))%&&''''%&&'''Q%&&'''Q%&&'''QXXXUUUUUXXWUUUUUXXUUUUUUXXUUUUUUXXUUUUUUXWUUUUUUXUUUUUUUWUUUUUUUUU%%%%%%UU%%%%%%U%%%%%%%U%%%%%%%U%%%%%%%U%%%%%%%%%%%%%%%%%%%%%%&%&&'''Q%&&'''Q&&&'''Q&&'''QQ&&'''QQ&&'''QQ&&'''QQ&'''QQQUUUUUUUUUUUUUUU%UUUUUUU%UUUUUU%%UUUUUU%%UUUUUU%%UUUUU%%%UUUUU%%%%%%%%%%&%%%%%%%&%%%%%%&&%%%%%%&&%%%%%%&&%%%%%&&'%%%%%&&'%%%%&&&'&'''QQQ&'''QQQ''''QQQ'''QQQQ'''QQQQ'''QQQQ''QQQQQ''QQQQQUUUU%%%%UUUU%%%%UUU%%%%%%%U%%%%%%%%%%%%%Z%%%%%%%Z%%%%%%%%%%%%%%%%%%%&&''%%%&&&''%%%&&'''%%%&&'''%%&&''''%&&&'''%&&''''&&&'''Q'QQQQQQ'QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ%%%%%%%%%%%%%%%&%%%%%%&&%%%%%%&&%%%%%&&&%%%%&&&'%%%%&&''%%%&&'''&&''''Q&''''QQ&''''QQ''''QQQ'''QQQQ'''QQQQ''QQQQQ'QQQQQQ%%&&&'''%&&&''''&&&))''&&))))Q&)))))Q)))))QQ))))QQQ)))QQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ))QQQQQ)QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ diff --git a/include/asm.inc.h b/include/asm.inc.h index 3e7c5fa99..c415cd825 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -193,6 +193,7 @@ void sp13E_warp_to_last_warp(void); void sub_8080EF0(void); void sp13F_fall_to_last_warp(void); void sub_8080F68(void); +void sub_8080F9C(void); void sub_8081594(u8); void sub_80815E0(u8 val); @@ -419,6 +420,8 @@ s16 sub_810CAE4(u8, struct Pokeblock *); void sub_810CC80(void); u8 sub_810D32C(void); void ResetCyclingRoadChallengeData(void); +bool32 sub_810D9B0(u16); +u8 sub_810D9EC(s8 *, s8 *, s16 *, s16 *); void ScriptAddElevatorMenuItem(u8, u8, u8, u8); void ScriptShowElevatorMenu(void); u8 GetLeadMonIndex(void); diff --git a/include/truck_scene.h b/include/field_special_scene.h index f55a4ced7..5841d6bce 100644 --- a/include/truck_scene.h +++ b/include/field_special_scene.h @@ -1,5 +1,5 @@ -#ifndef GUARD_TRUCK_SCENE_H -#define GUARD_TRUCK_SCENE_H +#ifndef GUARD_FIELD_SPECIAL_SCENE_H +#define GUARD_FIELD_SPECIAL_SCENE_H s32 GetTruckCameraBobbingY(int a1); s32 GetTruckBoxMovement(int a1); @@ -10,4 +10,4 @@ void Task_HandleTruckSequence(u8 taskId); void ExecuteTruckSequence(void); void EndTruckSequence(void); -#endif // GUARD_TRUCK_SCENE_H +#endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/rom4.h b/include/rom4.h index 0fe80a82b..44819cbee 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -43,9 +43,9 @@ void update_saveblock1_field_object_movement_behavior(u8, u8); void warp_in(void); void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); // warp1_set_2 -// saved_warp2_set +void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -// copy_saved_warp2_bank_and_enter_x_to_warp1 +void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); // sub_8053538 void sub_8053570(void); void sub_8053588(u8); diff --git a/ld_script.txt b/ld_script.txt index d2fb31c6e..b258669dc 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -61,6 +61,7 @@ SECTIONS { src/rng.o(.text); asm/util.o(.text); src/blend_palette.o(.text); + src/daycare.o(.text); asm/daycare.o(.text); asm/egg_hatch.o(.text); asm/rom_804373C.o(.text); @@ -166,8 +167,7 @@ SECTIONS { src/field_poison.o(.text); src/pokemon_size_record.o(.text); asm/fldeff_80C5CD4.o(.text); - src/truck_scene.o(.text); - asm/porthole.o(.text); + src/field_special_scene.o(.text); asm/rotating_gate.o(.text); src/safari_zone.o(.text); asm/contest_link_80C857C.o(.text); @@ -370,7 +370,7 @@ SECTIONS { data/contest_link_80C2020.o(.rodata); src/pokemon_size_record.o(.rodata); data/fldeff_80C5CD4.o(.rodata); - data/truck_scene.o(.rodata); + data/field_special_scene.o(.rodata); data/rotating_gate.o(.rodata); data/item_use.o(.rodata); data/battle_anim_80CA710.o(.rodata); @@ -416,6 +416,7 @@ SECTIONS { data/diploma.o(.rodata); data/strings.o(.rodata); data/berry_tag_screen.o(.rodata); + src/save_failed_screen.o(.rodata); data/save_failed_screen.o(.rodata); data/pokeblock_feed.o(.rodata); data/intro_credits_graphics.o(.rodata); diff --git a/shared_syms.txt b/shared_syms.txt index b44d54835..d695f8899 100644 --- a/shared_syms.txt +++ b/shared_syms.txt @@ -10,6 +10,7 @@ unk_2007900 = 0x2007900; unk_2008000 = 0x2008000; unk_2015de0 = 0x2015de0; +unk_2015e00 = 0x2015e00; unk_2016000 = 0x2016000; unk_20160BC = 0x20160BC; diff --git a/src/bard_music.c b/src/bard_music.c index 73eaa0f58..ee70f5319 100644 --- a/src/bard_music.c +++ b/src/bard_music.c @@ -1,157 +1,84 @@ #include "global.h" #include "asm.h" -typedef struct BardSound { +struct BardSound +{ u8 pad_00[48]; -} BardSound; - -typedef struct UnkBard { - /* 0x00 */ u8 var00; - /* 0x01 */ s8 var01; - /* 0x02 */ u16 var02; - /* 0x04 */ u16 var04; - /* 0x06 */ u16 var06; -} UnkBard; - -typedef struct UnkBard3 { - /* 0x00 */ u16 var00; - /* 0x02 */ u16 var02; - /* 0x04 */ s16 var04; - /* 0x06 */ u16 var06; -} UnkBard3; - -typedef struct UnkBard2 { - /* 0x00 */ u8 var00; - /* 0x01 */ u8 var01; - /* 0x02 */ u8 var02; - /* 0x03 */ u8 var03; - /* 0x04 */ u16 var04; - u8 pad06[4]; - /* 0x0A */ u16 var0A; - u8 pad0C[12]; - /* 0x18 */ UnkBard3 var18[6]; -} UnkBard2; - -extern BardSound *gBardMusicTable[]; +}; + +struct UnkBard +{ + /*0x00*/ u8 var00; + /*0x01*/ s8 var01; + /*0x02*/ u16 var02; + /*0x04*/ u16 var04; + /*0x06*/ u16 var06; +}; + +struct UnkBard3 +{ + /*0x00*/ u16 var00; + /*0x02*/ u16 var02; + /*0x04*/ s16 var04; + /*0x06*/ u16 var06; +}; + +struct UnkBard2 +{ + /*0x00*/ u8 var00; + /*0x01*/ u8 var01; + /*0x02*/ u8 var02; + /*0x03*/ u8 var03; + /*0x04*/ u16 var04; + u8 pad06[4]; + /*0x0A*/ u16 var0A; + u8 pad0C[12]; + /*0x18*/ struct UnkBard3 var18[6]; +}; + +extern struct BardSound *gBardMusicTable[]; extern s16 *gUnknown_08417068[]; extern u32 gUnknown_084170F4[]; -s16 sub_814A2B8(u32 arg0, u32 arg1) { +static s16 sub_814A2B8(u32 arg0, u32 arg1) +{ return gUnknown_08417068[arg0][arg1]; } -BardSound *sub_814A2D0(u16 arg0, u16 arg1) { - BardSound *sounds; - - sounds = gBardMusicTable[arg0]; - +struct BardSound *sub_814A2D0(u16 arg0, u16 arg1) +{ + struct BardSound *sounds = gBardMusicTable[arg0]; + return &sounds[arg1]; } -#ifdef NONMATCHING -int sub_814A2EC(UnkBard2 *dest, UnkBard *src, u16 arg2) { - int i; - int n; - - for (i = 0; i < 6; i++) { - s8 var01; - +s32 sub_814A2EC(struct UnkBard2 *dest, struct UnkBard *src, u16 arg2) +{ + s32 i; + s32 j; + s32 thirty; + + for (i = 0; i < 6; i++) + { dest->var18[i].var00 = src[i].var00; - if (src[i].var00 == 0xFF) { - continue; + if (src[i].var00 != 0xFF) + { + s32 r1 = src[i].var01 +gUnknown_084170F4[src[i].var00]; + + dest->var18[i].var02 = r1; + dest->var18[i].var06 = src[i].var04; + dest->var04 += r1; } - - var01 = src[i].var01; - dest->var18[i].var02 = var01 + gUnknown_084170F4[src[i].var00]; - dest->var18[i].var06 = src[i].var04; - dest->var04 += 1; } - - i = 6; - - for (n = 0; n < i; n++) { - dest->var18[n].var04 = sub_814A2B8(30 + arg2, n); - } - - dest->var00 += 1; + + for (j = 0, thirty = 30; j < i; j++) + dest->var18[j].var04 = sub_814A2B8(thirty + arg2, j); + + dest->var00++; dest->var01 = 0; dest->var02 = 0; dest->var03 = 0; dest->var0A = 0; + + //warning: no return statement in function returning non-void } -#else -__attribute__((naked)) -void sub_814A2EC(void) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r6, r0, 0\n\ - lsls r2, 16\n\ - lsrs r2, 16\n\ - mov r9, r2\n\ - ldr r4, _0814A370 @ =gUnknown_084170F4\n\ - adds r2, r1, 0\n\ - adds r3, r6, 0\n\ - adds r3, 0x18\n\ - movs r7, 0x5\n\ -_0814A306:\n\ - ldrb r0, [r2]\n\ - strh r0, [r3]\n\ - ldrb r0, [r2]\n\ - cmp r0, 0xFF\n\ - beq _0814A328\n\ - movs r1, 0x1\n\ - ldrsb r1, [r2, r1]\n\ - lsls r0, 2\n\ - adds r0, r4\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - strh r1, [r3, 0x2]\n\ - ldrh r0, [r2, 0x4]\n\ - strh r0, [r3, 0x6]\n\ - ldrh r0, [r6, 0x4]\n\ - adds r0, r1\n\ - strh r0, [r6, 0x4]\n\ -_0814A328:\n\ - adds r2, 0x8\n\ - adds r3, 0x8\n\ - subs r7, 0x1\n\ - cmp r7, 0\n\ - bge _0814A306\n\ - movs r7, 0x6\n\ - movs r5, 0\n\ - movs r0, 0x1E\n\ - mov r8, r0\n\ - adds r4, r6, 0\n\ -_0814A33C:\n\ - mov r0, r8\n\ - add r0, r9\n\ - adds r1, r5, 0\n\ - bl sub_814A2B8\n\ - adds r1, r0, 0\n\ - strh r1, [r4, 0x1C]\n\ - adds r4, 0x8\n\ - adds r5, 0x1\n\ - cmp r5, r7\n\ - blt _0814A33C\n\ - ldrb r1, [r6]\n\ - adds r1, 0x1\n\ - movs r2, 0\n\ - strb r1, [r6]\n\ - strb r2, [r6, 0x1]\n\ - strb r2, [r6, 0x2]\n\ - strb r2, [r6, 0x3]\n\ - strh r2, [r6, 0xA]\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_0814A370: .4byte gUnknown_084170F4\n\ - .syntax divided\n"); -} -#endif diff --git a/src/battle_ai.c b/src/battle_ai.c index e60bf478f..1b703679d 100644 --- a/src/battle_ai.c +++ b/src/battle_ai.c @@ -4,6 +4,7 @@ #include "pokemon.h" #include "rng.h" #include "abilities.h" +#include "species.h" #define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) #define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8) @@ -20,6 +21,7 @@ extern void move_effectiveness_something(u16, u8, u8); extern u16 gBattleTypeFlags; extern u8 gUnknown_02024A60; +extern u8 gUnknown_02024A6A[][2]; extern u16 gUnknown_02024BE6; extern u32 gUnknown_02024BEC; extern u8 gUnknown_02024C07; // something player? @@ -1042,128 +1044,52 @@ void BattleAICmd_unk_2A(void) void BattleAICmd_unk_2B(void) {} -__attribute__((naked)) void BattleAICmd_count_alive_pokemon(void) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - ldr r1, _08108550 @ =0x02016800\n\ - movs r0, 0\n\ - str r0, [r1, 0x8]\n\ - ldr r0, _08108554 @ =gAIScriptPtr\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0x1]\n\ - cmp r0, 0x1\n\ - bne _0810855C\n\ - ldr r0, _08108558 @ =gUnknown_02024C07\n\ - b _0810855E\n\ - .align 2, 0\n\ -_08108550: .4byte 0x02016800\n\ -_08108554: .4byte gAIScriptPtr\n\ -_08108558: .4byte gUnknown_02024C07\n\ -_0810855C:\n\ - ldr r0, _081085A8 @ =gUnknown_02024C08\n\ -_0810855E:\n\ - ldrb r5, [r0]\n\ - adds r0, r5, 0\n\ - bl battle_side_get_owner\n\ - lsls r0, 24\n\ - ldr r1, _081085AC @ =gEnemyParty\n\ - mov r9, r1\n\ - cmp r0, 0\n\ - bne _08108574\n\ - ldr r0, _081085B0 @ =gPlayerParty\n\ - mov r9, r0\n\ -_08108574:\n\ - ldr r0, _081085B4 @ =gBattleTypeFlags\n\ - ldrh r1, [r0]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _081085BC\n\ - ldr r4, _081085B8 @ =gUnknown_02024A6A\n\ - lsls r0, r5, 1\n\ - adds r0, r4\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - adds r0, r5, 0\n\ - bl battle_get_per_side_status\n\ - movs r1, 0x2\n\ - eors r0, r1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - bl battle_get_side_with_given_state\n\ - lsls r0, 24\n\ - lsrs r0, 23\n\ - adds r0, r4\n\ - ldrb r6, [r0]\n\ - b _081085C6\n\ - .align 2, 0\n\ -_081085A8: .4byte gUnknown_02024C08\n\ -_081085AC: .4byte gEnemyParty\n\ -_081085B0: .4byte gPlayerParty\n\ -_081085B4: .4byte gBattleTypeFlags\n\ -_081085B8: .4byte gUnknown_02024A6A\n\ -_081085BC:\n\ - ldr r1, _08108624 @ =gUnknown_02024A6A\n\ - lsls r0, r5, 1\n\ - adds r0, r1\n\ - ldrb r6, [r0]\n\ - mov r8, r6\n\ -_081085C6:\n\ - movs r5, 0\n\ - ldr r7, _08108628 @ =0x02016800\n\ -_081085CA:\n\ - cmp r5, r8\n\ - beq _08108608\n\ - cmp r5, r6\n\ - beq _08108608\n\ - movs r0, 0x64\n\ - muls r0, r5\n\ - mov r1, r9\n\ - adds r4, r1, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x39\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - beq _08108608\n\ - adds r0, r4, 0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - beq _08108608\n\ - adds r0, r4, 0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - movs r1, 0xCE\n\ - lsls r1, 1\n\ - cmp r0, r1\n\ - beq _08108608\n\ - ldr r0, [r7, 0x8]\n\ - adds r0, 0x1\n\ - str r0, [r7, 0x8]\n\ -_08108608:\n\ - adds r5, 0x1\n\ - cmp r5, 0x5\n\ - ble _081085CA\n\ - ldr r1, _0810862C @ =gAIScriptPtr\n\ - ldr r0, [r1]\n\ - adds r0, 0x2\n\ - str r0, [r1]\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08108624: .4byte gUnknown_02024A6A\n\ -_08108628: .4byte 0x02016800\n\ -_0810862C: .4byte gAIScriptPtr\n\ - .syntax divided"); + u8 index; + struct Pokemon *party; + struct AI_ThinkingStruct *ai = &battle_2000000.ai; + int i; + u8 var, var2; + + ai->unk8 = 0; + + if (gAIScriptPtr[1] == USER) + index = gUnknown_02024C07; + else + index = gUnknown_02024C08; + + if (battle_side_get_owner(index) == 0) + party = gPlayerParty; + else + party = gEnemyParty; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + u32 status; + var = gUnknown_02024A6A[index][0]; + status = battle_get_per_side_status(index) ^ 2; + var2 = gUnknown_02024A6A[battle_get_side_with_given_state(status)][0]; + } + else + { + var = gUnknown_02024A6A[index][0]; + var2 = gUnknown_02024A6A[index][0]; + } + + for (i = 0; i < 6; i++) + { + struct AI_ThinkingStruct *ai2 = &battle_2000000.ai; + if (i != var && i != var2 + && GetMonData(&party[i], MON_DATA_HP) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) + { + ai2->unk8++; + } + } + + gAIScriptPtr += 2; } void BattleAICmd_unk_2D(void) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 1b432fe70..164e2cfc2 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -18,12 +18,14 @@ #define OFFSET_7B (123) #define FIRST_BERRY ITEM_CHERI_BERRY -struct Struct2000000 { +struct Struct2000000 +{ /*0x00*/ u8 filler_0[0x1FFFF]; - /*0x1FFFF*/ bool8 var_1FFFF; + /*0x1FFFF*/ u8 var_1FFFF; }; -struct BerryTagStatus { +struct BerryTagStatus +{ s16 circles[5]; }; @@ -59,19 +61,21 @@ static void sub_8146480(u8 taskid); static void sub_81464E4(void); static void sub_8146600(u8 berry); // static void sub_81466A0(void); -static void sub_81466E8(u8 taskId, s32 direction); +static void sub_81466E8(u8 taskId, s8 direction); // static void sub_8146798(u8 berry); // static void sub_8146810(u8 berry); // static void sub_81468BC(void); -static void sub_8146014(void) { +static void sub_8146014(void) +{ AnimateSprites(); BuildOamBuffer(); RunTasks(); UpdatePaletteFade(); } -static void sub_814602C(void) { +static void sub_814602C(void) +{ REG_BG0VOFS = gUnknown_030041B4; REG_BG1VOFS = gUnknown_030041B4; @@ -80,162 +84,146 @@ static void sub_814602C(void) { TransferPlttBuffer(); } -static bool8 sub_8146058(void) { +static bool8 sub_8146058(void) +{ u8 berry; u16 backup; - switch (gMain.state) { - case 0: - sub_80F9438(); - sub_80F9368(); - sub_8146288(); - REG_BLDCNT = 0; - gMain.state += 1; - break; - - case 1: - ResetPaletteFade(); - gPaletteFade.bufferTransferDisabled = 1; - gMain.state += 1; - break; - - case 2: - ResetSpriteData(); - gMain.state += 1; - break; - - case 3: - SetUpWindowConfig(&gWindowConfig_81E6E18); - gMain.state += 1; - break; - - case 4: - MultistepInitMenuWindowBegin(&gWindowConfig_81E6E18); - gMain.state += 1; - break; - - case 5: - if (!MultistepInitMenuWindowContinue()) { - return FALSE; - } - unk_2000000.var_1FFFF = 0; - gMain.state += 1; - break; - - case 6: - if (!sub_81462B8()) { - break; - } - - unk_2000000.var_1FFFF = 0; - gMain.state += 1; - break; - - case 7: - sub_81464E4(); - gMain.state += 1; - break; - - case 8: - berry = gScriptItemId + OFFSET_7B; - gUnknown_0203932C = sub_80A7D8C(berry, 56, 64); - gMain.state += 1; - break; - - case 9: - sub_8146600(gScriptItemId + OFFSET_7B); - gMain.state += 1; + switch (gMain.state) + { + case 0: + sub_80F9438(); + sub_80F9368(); + sub_8146288(); + REG_BLDCNT = 0; + gMain.state += 1; + break; + case 1: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = 1; + gMain.state += 1; + break; + case 2: + ResetSpriteData(); + gMain.state += 1; + break; + case 3: + SetUpWindowConfig(&gWindowConfig_81E6E18); + gMain.state += 1; + break; + case 4: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6E18); + gMain.state += 1; + break; + case 5: + if (!MultistepInitMenuWindowContinue()) break; - - case 10: - backup = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = backup; - - REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; - SetVBlankCallback(sub_814602C); - REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP; - gMain.state += 1; + unk_2000000.var_1FFFF = 0; + gMain.state += 1; + break; + case 6: + if (!sub_81462B8()) break; - - case 11: - if (sub_8055870() == TRUE) { - break; - } - gMain.state += 1; + unk_2000000.var_1FFFF = 0; + gMain.state += 1; + break; + case 7: + sub_81464E4(); + gMain.state += 1; + break; + case 8: + berry = gScriptItemId + OFFSET_7B; + gUnknown_0203932C = sub_80A7D8C(berry, 56, 64); + gMain.state += 1; + break; + case 9: + sub_8146600(gScriptItemId + OFFSET_7B); + gMain.state += 1; + break; + case 10: + backup = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = backup; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + SetVBlankCallback(sub_814602C); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP; + gMain.state += 1; + break; + case 11: + if (sub_8055870() == TRUE) break; - - case 12: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - gPaletteFade.bufferTransferDisabled = 0; - SetMainCallback2(sub_8146014); - return TRUE; - + gMain.state += 1; + break; + case 12: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + SetMainCallback2(sub_8146014); + return TRUE; } return FALSE; } -void BerryTagScreen_814625C(u8 taskId) { - do { - if (sub_8146058() == TRUE) { +void BerryTagScreen_814625C(u8 taskId) +{ + do + { + if (sub_8146058() == TRUE) + { CreateTask(sub_8146480, 0); return; } - } while (sub_80F9344() != TRUE); } -static void sub_8146288(void) { +static void sub_8146288(void) +{ REG_BG1CNT = 0x502; REG_BG2CNT = 0x600; REG_BG3CNT = 0x703; gUnknown_030041B4 = 0; } -#ifdef NONMATCHING -bool8 sub_81462B8(void) { +bool8 sub_81462B8(void) +{ u16 i; + void *addr; - switch (unk_2000000.var_1FFFF) { + switch (unk_2000000.var_1FFFF) + { case 0: LZDecompressVram(gBerryCheck_Gfx, (void *) VRAM); unk_2000000.var_1FFFF += 1; break; - case 1: LZDecompressVram(gUnknown_08E788E4, (void *) VRAM + 0x2800); unk_2000000.var_1FFFF += 1; break; - case 2: LZDecompressVram(gUnknown_08E78A84, (void *) VRAM + 0x3000); unk_2000000.var_1FFFF += 1; break; - case 3: - for (i = 0; i < 0x400; i++) { - u16 (*buffer)[0x400] = &gBGTilemapBuffers[3]; - if (gSaveBlock2.playerGender == MALE) { - (*buffer)[i] = 0x4042; - } else { - (*buffer)[i] = 0x5042; - } + for (i = 0; i < 0x400; i++) + { + if (gSaveBlock2.playerGender == MALE) + gBGTilemapBuffers[2][i] = 0x4042; + else + gBGTilemapBuffers[2][i] = 0x5042; } + addr = (void *)(VRAM + 0x3800); + DmaCopy16(3, gBGTilemapBuffers[2], addr, 0x800); unk_2000000.var_1FFFF += 1; break; - case 4: LoadCompressedPalette(gBerryCheck_Pal, 0, 96 * 2); unk_2000000.var_1FFFF += 1; break; - case 5: LoadCompressedObjectPic(&gUnknown_083C1F74); unk_2000000.var_1FFFF += 1; break; - case 6: LoadCompressedObjectPalette(&gUnknown_083C1F7C); unk_2000000.var_1FFFF = 0; @@ -244,208 +232,40 @@ bool8 sub_81462B8(void) { return FALSE; } -#else -__attribute__((naked)) -static bool8 sub_81462B8(void) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - ldr r1, _081462D4 @ =0x02000000\n\ - ldr r2, _081462D8 @ =0x0001ffff\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - mov r12, r1\n\ - cmp r0, 0x6\n\ - bls _081462CA\n\ - b _08146404\n\ -_081462CA:\n\ - lsls r0, 2\n\ - ldr r1, _081462DC @ =_081462E0\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_081462D4: .4byte 0x02000000\n\ -_081462D8: .4byte 0x0001ffff\n\ -_081462DC: .4byte _081462E0\n\ - .align 2, 0\n\ -_081462E0:\n\ - .4byte _081462FC\n\ - .4byte _0814630C\n\ - .4byte _0814632C\n\ - .4byte _08146340\n\ - .4byte _081463A4\n\ - .4byte _081463C4\n\ - .4byte _081463E4\n\ -_081462FC:\n\ - ldr r0, _08146308 @ =gBerryCheck_Gfx\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl LZDecompressVram\n\ - b _081463CA\n\ - .align 2, 0\n\ -_08146308: .4byte gBerryCheck_Gfx\n\ -_0814630C:\n\ - ldr r0, _0814631C @ =gUnknown_08E788E4\n\ - ldr r1, _08146320 @ =0x06002800\n\ - bl LZDecompressVram\n\ - ldr r1, _08146324 @ =0x02000000\n\ - ldr r2, _08146328 @ =0x0001ffff\n\ - adds r1, r2\n\ - b _081463D0\n\ - .align 2, 0\n\ -_0814631C: .4byte gUnknown_08E788E4\n\ -_08146320: .4byte 0x06002800\n\ -_08146324: .4byte 0x02000000\n\ -_08146328: .4byte 0x0001ffff\n\ -_0814632C:\n\ - ldr r0, _08146338 @ =gUnknown_08E78A84\n\ - ldr r1, _0814633C @ =0x06003000\n\ - bl LZDecompressVram\n\ - b _081463CA\n\ - .align 2, 0\n\ -_08146338: .4byte gUnknown_08E78A84\n\ -_0814633C: .4byte 0x06003000\n\ -_08146340:\n\ - movs r1, 0\n\ - ldr r7, _0814635C @ =gBGTilemapBuffers + 0x1000\n\ - adds r2, r7, 0\n\ - ldr r6, _08146360 @ =0x00004042\n\ - ldr r5, _08146364 @ =gSaveBlock2\n\ - ldr r4, _08146368 @ =0x00005042\n\ - ldr r3, _0814636C @ =0x000003ff\n\ -_0814634E:\n\ - ldrb r0, [r5, 0x8]\n\ - cmp r0, 0\n\ - bne _08146370\n\ - lsls r0, r1, 1\n\ - adds r0, r2\n\ - strh r6, [r0]\n\ - b _08146376\n\ - .align 2, 0\n\ -_0814635C: .4byte gBGTilemapBuffers + 0x1000\n\ -_08146360: .4byte 0x00004042\n\ -_08146364: .4byte gSaveBlock2\n\ -_08146368: .4byte 0x00005042\n\ -_0814636C: .4byte 0x000003ff\n\ -_08146370:\n\ - lsls r0, r1, 1\n\ - adds r0, r2\n\ - strh r4, [r0]\n\ -_08146376:\n\ - adds r0, r1, 0x1\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - cmp r1, r3\n\ - bls _0814634E\n\ - ldr r1, _08146394 @ =0x06003800\n\ - ldr r0, _08146398 @ =0x040000d4\n\ - str r7, [r0]\n\ - str r1, [r0, 0x4]\n\ - ldr r1, _0814639C @ =0x80000400\n\ - str r1, [r0, 0x8]\n\ - ldr r0, [r0, 0x8]\n\ - ldr r1, _081463A0 @ =0x0001ffff\n\ - add r1, r12\n\ - b _081463D0\n\ - .align 2, 0\n\ -_08146394: .4byte 0x06003800\n\ -_08146398: .4byte 0x040000d4\n\ -_0814639C: .4byte 0x80000400\n\ -_081463A0: .4byte 0x0001ffff\n\ -_081463A4:\n\ - ldr r0, _081463B8 @ =gBerryCheck_Pal\n\ - movs r1, 0\n\ - movs r2, 0xC0\n\ - bl LoadCompressedPalette\n\ - ldr r1, _081463BC @ =0x02000000\n\ - ldr r2, _081463C0 @ =0x0001ffff\n\ - adds r1, r2\n\ - b _081463D0\n\ - .align 2, 0\n\ -_081463B8: .4byte gBerryCheck_Pal\n\ -_081463BC: .4byte 0x02000000\n\ -_081463C0: .4byte 0x0001ffff\n\ -_081463C4:\n\ - ldr r0, _081463D8 @ =gUnknown_083C1F74\n\ - bl LoadCompressedObjectPic\n\ -_081463CA:\n\ - ldr r1, _081463DC @ =0x02000000\n\ - ldr r0, _081463E0 @ =0x0001ffff\n\ - adds r1, r0\n\ -_081463D0:\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ - b _08146404\n\ - .align 2, 0\n\ -_081463D8: .4byte gUnknown_083C1F74\n\ -_081463DC: .4byte 0x02000000\n\ -_081463E0: .4byte 0x0001ffff\n\ -_081463E4:\n\ - ldr r0, _081463F8 @ =gUnknown_083C1F7C\n\ - bl LoadCompressedObjectPalette\n\ - ldr r0, _081463FC @ =0x02000000\n\ - ldr r1, _08146400 @ =0x0001ffff\n\ - adds r0, r1\n\ - movs r1, 0\n\ - strb r1, [r0]\n\ - movs r0, 0x1\n\ - b _08146406\n\ - .align 2, 0\n\ -_081463F8: .4byte gUnknown_083C1F7C\n\ -_081463FC: .4byte 0x02000000\n\ -_08146400: .4byte 0x0001ffff\n\ -_08146404:\n\ - movs r0, 0\n\ -_08146406:\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .syntax divided\n"); -} -#endif -static void sub_814640C(u8 taskId) { - if (gPaletteFade.active) { - return; +static void sub_814640C(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sub_80A5B40); + sub_80A7DD4(); + gpu_pal_allocator_reset__manage_upper_four(); + DestroyTask(taskId); } - - SetMainCallback2(sub_80A5B40); - sub_80A7DD4(); - gpu_pal_allocator_reset__manage_upper_four(); - DestroyTask(taskId); } -static void sub_8146440(u8 taskId) { +static void sub_8146440(u8 taskId) +{ PlaySE(SE_SELECT); BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gTasks[taskId].func = sub_814640C; } -static void sub_8146480(u8 taskid) { - register u16 keys asm("r1"); - - if (gPaletteFade.active) { - return; - } - - keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN); - if (keys == DPAD_UP) { - sub_81466E8(taskid, -1); - } - - keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN); - if (keys == DPAD_DOWN) { - sub_81466E8(taskid, 1); - } - - if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) { - sub_8146440(taskid); +static void sub_8146480(u8 taskid) +{ + if (!gPaletteFade.active) + { + if ((gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) == DPAD_UP) + sub_81466E8(taskid, -1); + if ((gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) == DPAD_DOWN) + sub_81466E8(taskid, 1); + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + sub_8146440(taskid); } } -static void sub_81464E4(void) { +static void sub_81464E4(void) +{ struct Berry *berryInfo; u32 size; s32 sizeMajor; @@ -461,163 +281,68 @@ static void sub_81464E4(void) { MenuPrint(berryInfo->description2, 4, 16); size = (berryInfo->size * 1000) / 254; - if (size % 10 >= 5) { + if (size % 10 >= 5) size += 10; - } sizeMinor = (size % 100) / 10; sizeMajor = size / 100; MenuPrint(gOtherText_Size, 11, 7); - if (berryInfo->size != 0) { + if (berryInfo->size != 0) + { ConvertIntToDecimalStringN(gStringVar1, sizeMajor, STR_CONV_MODE_LEFT_ALIGN, 2); ConvertIntToDecimalStringN(gStringVar2, sizeMinor, STR_CONV_MODE_LEFT_ALIGN, 2); MenuPrint(gContestStatsText_Unknown1, 16, 7); - } else { + } + else + { MenuPrint(gOtherText_ThreeQuestions2, 16, 7); } MenuPrint(gOtherText_Firm, 11, 9); - if (berryInfo->firmness != 0) { + if (berryInfo->firmness != 0) MenuPrint(gUnknown_0841192C[berryInfo->firmness - 1], 16, 9); - } else { + else MenuPrint(gOtherText_ThreeQuestions2, 16, 9); - } } -#ifdef NONMATCHING -static void sub_8146600(u8 berry) { +static void sub_8146600(u8 berry) +{ struct Berry *berryInfo; u16 i; berryInfo = GetBerryInfo(berry +1); + for (i = 0; i < 5; i++) + gUnknown_0203932E.circles[i] = (u16)gUnknown_0203932E.circles[i] | 0xFFFF; - for (i = 0; i < 5; i++) { - gUnknown_0203932E.circles[i] |= 0xFFFF; - } - - if (berryInfo->spicy) { - // argument is the center of the circle + // argument is the center of the circle + if (berryInfo->spicy) gUnknown_0203932E.circles[0] = sub_80A7E5C(48); - } - - if (berryInfo->dry) { + if (berryInfo->dry) gUnknown_0203932E.circles[1] = sub_80A7E5C(88); - } - - if (berryInfo->sweet) { + if (berryInfo->sweet) gUnknown_0203932E.circles[2] = sub_80A7E5C(128); - } - - if (berryInfo->bitter) { + if (berryInfo->bitter) gUnknown_0203932E.circles[3] = sub_80A7E5C(168); - } - - if (berryInfo->sour) { + if (berryInfo->sour) gUnknown_0203932E.circles[4] = sub_80A7E5C(208); - } } -#else -__attribute__((naked)) -static void sub_8146600(u8 berry) { - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - lsls r0, 24\n\ - movs r1, 0x80\n\ - lsls r1, 17\n\ - adds r0, r1\n\ - lsrs r0, 24\n\ - bl GetBerryInfo\n\ - adds r4, r0, 0\n\ - movs r2, 0\n\ - ldr r5, _08146698 @ =gUnknown_0203932E\n\ - ldr r0, _0814669C @ =0x0000ffff\n\ - adds r3, r0, 0\n\ -_0814661A:\n\ - lsls r0, r2, 1\n\ - adds r0, r5\n\ - ldrh r1, [r0]\n\ - orrs r1, r3\n\ - strh r1, [r0]\n\ - adds r0, r2, 0x1\n\ - lsls r0, 16\n\ - lsrs r2, r0, 16\n\ - cmp r2, 0x4\n\ - bls _0814661A\n\ - ldrb r0, [r4, 0x15]\n\ - cmp r0, 0\n\ - beq _08146642\n\ - movs r0, 0x30\n\ - bl sub_80A7E5C\n\ - ldr r1, _08146698 @ =gUnknown_0203932E\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r1]\n\ -_08146642:\n\ - ldrb r0, [r4, 0x16]\n\ - cmp r0, 0\n\ - beq _08146656\n\ - movs r0, 0x58\n\ - bl sub_80A7E5C\n\ - ldr r1, _08146698 @ =gUnknown_0203932E\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r1, 0x2]\n\ -_08146656:\n\ - ldrb r0, [r4, 0x17]\n\ - cmp r0, 0\n\ - beq _0814666A\n\ - movs r0, 0x80\n\ - bl sub_80A7E5C\n\ - ldr r1, _08146698 @ =gUnknown_0203932E\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r1, 0x4]\n\ -_0814666A:\n\ - ldrb r0, [r4, 0x18]\n\ - cmp r0, 0\n\ - beq _0814667E\n\ - movs r0, 0xA8\n\ - bl sub_80A7E5C\n\ - ldr r1, _08146698 @ =gUnknown_0203932E\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r1, 0x6]\n\ -_0814667E:\n\ - ldrb r0, [r4, 0x19]\n\ - cmp r0, 0\n\ - beq _08146692\n\ - movs r0, 0xD0\n\ - bl sub_80A7E5C\n\ - ldr r1, _08146698 @ =gUnknown_0203932E\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - strh r0, [r1, 0x8]\n\ -_08146692:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08146698: .4byte gUnknown_0203932E\n\ -_0814669C: .4byte 0x0000ffff\n\ - .syntax divided\n"); -} -#endif - -void sub_81466A0(void) { +void sub_81466A0(void) +{ u16 i; - for (i = 0; i < 5; i++) { - if (gUnknown_0203932E.circles[i] != -1) { + for (i = 0; i < 5; i++) + { + if (gUnknown_0203932E.circles[i] != -1) + { DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]); gUnknown_0203932E.circles[i] = -1; } } } - __attribute__((naked)) -static void sub_81466E8(u8 taskId, s32 direction) { +static void sub_81466E8(u8 taskId, s8 direction) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ mov r7, r8\n\ diff --git a/src/contest_painting.c b/src/contest_painting.c index 2e8a73ec4..b6cdda034 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -14,7 +14,8 @@ #define MOSAIC_BIT_OBJ_HSIZE (8) #define MOSAIC_BIT_OBJ_VSIZE (12) -enum { +enum +{ CONTEST_COOL, CONTEST_BEAUTY, CONTEST_CUTE, @@ -22,7 +23,8 @@ enum { CONTEST_TOUGH, }; -enum { +enum +{ CONTESTRESULT_COOL = 9, CONTESTRESULT_BEAUTY = 13, CONTESTRESULT_CUTE = 2, @@ -30,26 +32,36 @@ enum { CONTESTRESULT_TOUGH = 6, }; -struct ContestEntry { - /* 0x00 */ u8 var0; - /* 0x04 */ u32 var4; - /* 0x08 */ u16 var8; - /* 0x0A */ u8 contestType; - /* 0x0B */ u8 pokemon_name[POKEMON_NAME_LENGTH]; - /* 0x15 */ u8 pad15; - /* 0x16 */ u8 trainer_name[OT_NAME_LENGTH]; +struct Unk2015E00 +{ + u16 unk2015e00[128][32]; + u16 unk2017e00[0]; }; -struct Unk3000756 { - /* 0x00 */ u8 var_0; +struct ContestEntry +{ + /*0x00*/ u8 var0; + /*0x04*/ u32 var4; + /*0x08*/ u16 var8; + /*0x0A*/ u8 contestType; + /*0x0B*/ u8 pokemon_name[POKEMON_NAME_LENGTH]; + /*0x15*/ u8 pad15; + /*0x16*/ u8 trainer_name[OT_NAME_LENGTH]; }; -struct LabelPair { +struct Unk3000756 +{ + /*0x00*/ u8 var_0; +}; + +struct LabelPair +{ u8 (*prefix)[]; u8 (*suffix)[]; }; -struct Unk03005E20 { +struct Unk03005E20 +{ u8 var_0; u8 pad1[3]; u16 (*var_4)[][32]; @@ -68,19 +80,18 @@ struct Unk03005E20 { u8 var_1F; }; -extern struct Unk03005E20 gUnknown_03005E20; -extern u16 (*gUnknown_03005E90)[]; - -extern u8 gUnknown_03005E40[]; - extern u8 unk_2000000[]; -extern u8 unk_2015de0[]; +extern struct ContestEntry unk_2015de0; +extern struct Unk2015E00 unk_2015e00; +extern u8 gUnknown_03000750; extern u16 gUnknown_03000752; extern u16 gUnknown_03000754; extern struct Unk3000756 gUnknown_03000756; +extern u16 (*gUnknown_03005E10)[][32]; +extern struct Unk03005E20 gUnknown_03005E20; +extern u8 gUnknown_03005E40[]; extern struct ContestEntry *gUnknown_03005E8C; - -extern u16 (*gUnknown_03005E10)[32][32]; +extern u16 (*gUnknown_03005E90)[]; extern const struct SpriteSheet gMonFrontPicTable[]; extern const struct MonCoords gMonFrontPicCoords[]; @@ -113,24 +124,25 @@ extern u16 gUnknown_083F6140[]; extern u8 gContestText_ContestWinner[]; extern u8 gOtherText_Unknown1[]; -void HoldContestPainting(void); -void ShowContestPainting(); -void ContestPaintingInitWindow(u8 arg0); -void ContestPaintingInitVars(u8 arg0); -void sub_8107090(u8 arg0, u8 arg1); -void ContestPaintingPrintCaption(u8 arg0, u8 arg1); -void ContestPaintingInitBG(void); -void CB2_HoldContestPainting(void); -void VBlankCB_ContestPainting(void); - -void sub_80FC7A0(struct Unk03005E20*); -void sub_80FDA18(struct Unk03005E20*); -void sub_80FD8CC(struct Unk03005E20*); +static void ShowContestPainting(); +static void CB2_HoldContestPainting(void); +static void HoldContestPainting(void); +static void ContestPaintingInitWindow(u8 arg0); +static void ContestPaintingPrintCaption(u8 arg0, u8 arg1); +static void ContestPaintingInitBG(void); +static void ContestPaintingInitVars(u8 arg0); +static void VBlankCB_ContestPainting(void); +void sub_8106B90(); //should be static +static void sub_8107090(u8 arg0, u8 arg1); + +extern void sub_80FC7A0(struct Unk03005E20*); +extern void sub_80FDA18(struct Unk03005E20*); +extern void sub_80FD8CC(struct Unk03005E20*); extern void *species_and_otid_get_pal(); -void sub_8106B90(); __attribute__((naked)) -void sub_8106630(u32 arg0) { +void sub_8106630(u32 arg0) +{ asm(".syntax unified\n\ push {r4-r7,lr}\n\ ldr r2, _0810665C @ =0x02015de0\n\ @@ -161,371 +173,128 @@ _08106664: .4byte 0x00002dfc\n\ .syntax divided\n"); } -void CB2_ContestPainting(void) { +void CB2_ContestPainting(void) +{ ShowContestPainting(); } -#ifdef NONMATCHING -void ShowContestPainting(void) { - switch (gMain.state) { - case 0: - remove_some_task(); - SetVBlankCallback(NULL); - gUnknown_03005E8C->data = &unk_2015de0; - ContestPaintingInitVars(FALSE); - ContestPaintingInitBG(); - gMain.state += 1; - break; - - case 1: - ResetPaletteFade(); - - // DMA STUFF - - ResetSpriteData(); - gMain.state += 1; - break; - - case 2: - SeedRng(gMain.vblankCounter1); - InitKeys(); - ContestPaintingInitWindow(unk_2000000[0x15DDF]); - gMain.state += 1; - break; - - case 3: - sub_8107090(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); - gMain.state += 1; - break; - - case 4: - ContestPaintingPrintCaption(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); - LoadPalette(gUnknown_083F6140, 0, 1 * 2); - // DMA STUFF - BeginFastPaletteFade(2); - SetVBlankCallback(VBlankCB_ContestPainting); - REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; - SetMainCallback2(CB2_HoldContestPainting); - break; +static void ShowContestPainting(void) +{ + switch (gMain.state) + { + case 0: + remove_some_task(); + SetVBlankCallback(NULL); + gUnknown_03005E8C = &unk_2015de0; + ContestPaintingInitVars(TRUE); + ContestPaintingInitBG(); + gMain.state++; + break; + case 1: + { + u8 *addr; + size_t size; + + ResetPaletteFade(); + addr = (void *)VRAM; + size = 0x18000; + while (1) + { + DmaFill32(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill32(3, 0, addr, size); + break; + } + } + ResetSpriteData(); + gMain.state++; + break; + } + case 2: + SeedRng(gMain.vblankCounter1); + InitKeys(); + ContestPaintingInitWindow(unk_2000000[0x15DDF]); + gMain.state++; + break; + case 3: + sub_8107090(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); + gMain.state++; + break; + case 4: + ContestPaintingPrintCaption(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); + LoadPalette(gUnknown_083F6140, 0, 1 * 2); + DmaClear32(3, PLTT, 0x400); + BeginFastPaletteFade(2); + SetVBlankCallback(VBlankCB_ContestPainting); + gUnknown_03000750 = 0; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; + SetMainCallback2(CB2_HoldContestPainting); + break; } -} -#else -__attribute__((naked)) -void ShowContestPainting(void) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - sub sp, 0x4\n\ - ldr r1, _08106694 @ =gMain\n\ - ldr r2, _08106698 @ =0x0000043c\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r4, r1, 0\n\ - cmp r0, 0x4\n\ - bls _08106688\n\ - b _081067E0\n\ -_08106688:\n\ - lsls r0, 2\n\ - ldr r1, _0810669C @ =_081066A0\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08106694: .4byte gMain\n\ -_08106698: .4byte 0x0000043c\n\ -_0810669C: .4byte _081066A0\n\ - .align 2, 0\n\ -_081066A0:\n\ - .4byte _081066B4\n\ - .4byte _081066D8\n\ - .4byte _08106734\n\ - .4byte _0810675C\n\ - .4byte _0810678C\n\ -_081066B4:\n\ - bl remove_some_task\n\ - movs r0, 0\n\ - bl SetVBlankCallback\n\ - ldr r1, _081066D0 @ =gUnknown_03005E8C\n\ - ldr r0, _081066D4 @ =0x02015de0\n\ - str r0, [r1]\n\ - movs r0, 0x1\n\ - bl ContestPaintingInitVars\n\ - bl ContestPaintingInitBG\n\ - b _0810676E\n\ - .align 2, 0\n\ -_081066D0: .4byte gUnknown_03005E8C\n\ -_081066D4: .4byte 0x02015de0\n\ -_081066D8:\n\ - bl ResetPaletteFade\n\ - movs r2, 0xC0\n\ - lsls r2, 19\n\ - movs r3, 0xC0\n\ - lsls r3, 9\n\ - movs r5, 0\n\ - ldr r1, _08106724 @ =0x040000d4\n\ - movs r4, 0x80\n\ - lsls r4, 5\n\ - ldr r6, _08106728 @ =0x85000400\n\ - movs r7, 0x85\n\ - lsls r7, 24\n\ -_081066F2:\n\ - str r5, [sp]\n\ - mov r0, sp\n\ - str r0, [r1]\n\ - str r2, [r1, 0x4]\n\ - str r6, [r1, 0x8]\n\ - ldr r0, [r1, 0x8]\n\ - adds r2, r4\n\ - subs r3, r4\n\ - cmp r3, r4\n\ - bhi _081066F2\n\ - str r5, [sp]\n\ - mov r0, sp\n\ - str r0, [r1]\n\ - str r2, [r1, 0x4]\n\ - lsrs r0, r3, 2\n\ - orrs r0, r7\n\ - str r0, [r1, 0x8]\n\ - ldr r0, [r1, 0x8]\n\ - bl ResetSpriteData\n\ - ldr r1, _0810672C @ =gMain\n\ - ldr r2, _08106730 @ =0x0000043c\n\ - adds r1, r2\n\ - b _08106774\n\ - .align 2, 0\n\ -_08106724: .4byte 0x040000d4\n\ -_08106728: .4byte 0x85000400\n\ -_0810672C: .4byte gMain\n\ -_08106730: .4byte 0x0000043c\n\ -_08106734:\n\ - ldrh r0, [r4, 0x20]\n\ - bl SeedRng\n\ - bl InitKeys\n\ - ldr r0, _08106750 @ =0x02000000\n\ - ldr r1, _08106754 @ =0x00015ddf\n\ - adds r0, r1\n\ - ldrb r0, [r0]\n\ - bl ContestPaintingInitWindow\n\ - ldr r2, _08106758 @ =0x0000043c\n\ - adds r1, r4, r2\n\ - b _08106774\n\ - .align 2, 0\n\ -_08106750: .4byte 0x02000000\n\ -_08106754: .4byte 0x00015ddf\n\ -_08106758: .4byte 0x0000043c\n\ -_0810675C:\n\ - ldr r1, _0810677C @ =0x02000000\n\ - ldr r2, _08106780 @ =0x00015dde\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r2, 0x1\n\ - adds r1, r2\n\ - ldrb r1, [r1]\n\ - bl sub_8107090\n\ -_0810676E:\n\ - ldr r1, _08106784 @ =gMain\n\ - ldr r0, _08106788 @ =0x0000043c\n\ - adds r1, r0\n\ -_08106774:\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ - b _081067E0\n\ - .align 2, 0\n\ -_0810677C: .4byte 0x02000000\n\ -_08106780: .4byte 0x00015dde\n\ -_08106784: .4byte gMain\n\ -_08106788: .4byte 0x0000043c\n\ -_0810678C:\n\ - ldr r1, _081067E8 @ =0x02000000\n\ - ldr r2, _081067EC @ =0x00015dde\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r2, 0x1\n\ - adds r1, r2\n\ - ldrb r1, [r1]\n\ - bl ContestPaintingPrintCaption\n\ - ldr r0, _081067F0 @ =gUnknown_083F6140\n\ - movs r1, 0\n\ - movs r2, 0x2\n\ - bl LoadPalette\n\ - movs r1, 0xA0\n\ - lsls r1, 19\n\ - movs r4, 0\n\ - str r4, [sp]\n\ - ldr r0, _081067F4 @ =0x040000d4\n\ - mov r2, sp\n\ - str r2, [r0]\n\ - str r1, [r0, 0x4]\n\ - ldr r1, _081067F8 @ =0x85000100\n\ - str r1, [r0, 0x8]\n\ - ldr r0, [r0, 0x8]\n\ - movs r0, 0x2\n\ - bl BeginFastPaletteFade\n\ - ldr r0, _081067FC @ =VBlankCB_ContestPainting\n\ - bl SetVBlankCallback\n\ - ldr r0, _08106800 @ =gUnknown_03000750\n\ - strb r4, [r0]\n\ - movs r1, 0x80\n\ - lsls r1, 19\n\ - movs r2, 0x9A\n\ - lsls r2, 5\n\ - adds r0, r2, 0\n\ - strh r0, [r1]\n\ - ldr r0, _08106804 @ =CB2_HoldContestPainting\n\ - bl SetMainCallback2\n\ -_081067E0:\n\ - add sp, 0x4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_081067E8: .4byte 0x02000000\n\ -_081067EC: .4byte 0x00015dde\n\ -_081067F0: .4byte gUnknown_083F6140\n\ -_081067F4: .4byte 0x040000d4\n\ -_081067F8: .4byte 0x85000100\n\ -_081067FC: .4byte VBlankCB_ContestPainting\n\ -_08106800: .4byte gUnknown_03000750\n\ -_08106804: .4byte CB2_HoldContestPainting\n\ - .syntax divided\n"); } -#endif - -void CB2_HoldContestPainting(void) { +static void CB2_HoldContestPainting(void) +{ HoldContestPainting(); UpdatePaletteFade(); } -void CB2_QuitContestPainting(void) { +static void CB2_QuitContestPainting(void) +{ SetMainCallback2(gMain.savedCallback); } -__attribute__((naked)) -void HoldContestPainting(void) { - asm(".syntax unified\n\ - push {lr}\n\ - sub sp, 0x4\n\ - ldr r3, _08106844 @ =gUnknown_03000750\n\ - ldrb r1, [r3]\n\ - cmp r1, 0x1\n\ - beq _08106880\n\ - cmp r1, 0x1\n\ - bgt _08106848\n\ - cmp r1, 0\n\ - beq _0810684E\n\ - b _081068E6\n\ - .align 2, 0\n\ -_08106844: .4byte gUnknown_03000750\n\ -_08106848:\n\ - cmp r1, 0x2\n\ - beq _081068C0\n\ - b _081068E6\n\ -_0810684E:\n\ - ldr r0, _08106874 @ =gPaletteFade\n\ - ldrb r1, [r0, 0x7]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810685E\n\ - movs r0, 0x1\n\ - strb r0, [r3]\n\ -_0810685E:\n\ - ldr r0, _08106878 @ =gUnknown_03000756\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _081068E6\n\ - ldr r1, _0810687C @ =gUnknown_03000754\n\ - ldrh r0, [r1]\n\ - cmp r0, 0\n\ - beq _081068E6\n\ - subs r0, 0x1\n\ - b _081068E4\n\ - .align 2, 0\n\ -_08106874: .4byte gPaletteFade\n\ -_08106878: .4byte gUnknown_03000756\n\ -_0810687C: .4byte gUnknown_03000754\n\ -_08106880:\n\ - ldr r0, _081068B4 @ =gMain\n\ - ldrh r2, [r0, 0x2E]\n\ - ands r1, r2\n\ - cmp r1, 0\n\ - bne _08106892\n\ - movs r0, 0x2\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _081068A4\n\ -_08106892:\n\ - movs r0, 0x2\n\ - strb r0, [r3]\n\ - subs r0, 0x3\n\ - movs r1, 0\n\ - str r1, [sp]\n\ - movs r2, 0\n\ - movs r3, 0x10\n\ - bl BeginNormalPaletteFade\n\ -_081068A4:\n\ - ldr r0, _081068B8 @ =gUnknown_03000756\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _081068E6\n\ - ldr r1, _081068BC @ =gUnknown_03000754\n\ - movs r0, 0\n\ - b _081068E4\n\ - .align 2, 0\n\ -_081068B4: .4byte gMain\n\ -_081068B8: .4byte gUnknown_03000756\n\ -_081068BC: .4byte gUnknown_03000754\n\ -_081068C0:\n\ - ldr r0, _081068EC @ =gPaletteFade\n\ - ldrb r1, [r0, 0x7]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _081068D2\n\ - ldr r0, _081068F0 @ =CB2_QuitContestPainting\n\ - bl SetMainCallback2\n\ -_081068D2:\n\ - ldr r0, _081068F4 @ =gUnknown_03000756\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _081068E6\n\ - ldr r1, _081068F8 @ =gUnknown_03000754\n\ - ldrh r0, [r1]\n\ - cmp r0, 0x1D\n\ - bhi _081068E6\n\ - adds r0, 0x1\n\ -_081068E4:\n\ - strh r0, [r1]\n\ -_081068E6:\n\ - add sp, 0x4\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_081068EC: .4byte gPaletteFade\n\ -_081068F0: .4byte CB2_QuitContestPainting\n\ -_081068F4: .4byte gUnknown_03000756\n\ -_081068F8: .4byte gUnknown_03000754\n\ - .syntax divided\n"); +static void HoldContestPainting(void) +{ + switch (gUnknown_03000750) + { + case 0: + if (!gPaletteFade.active) + gUnknown_03000750 = 1; + if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 != 0) + gUnknown_03000754--; + break; + case 1: + if ((gMain.newKeys & 1) || (gMain.newKeys & 2)) + { + u8 two = 2; //needed to make the asm match + + gUnknown_03000750 = two; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + } + if (gUnknown_03000756.var_0 != 0) + gUnknown_03000754 = 0; + break; + case 2: + if (!gPaletteFade.active) + SetMainCallback2(CB2_QuitContestPainting); + if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 <= 0x1D) + gUnknown_03000754++; + break; + } } -void ContestPaintingInitWindow(u8 arg0) { +static void ContestPaintingInitWindow(u8 arg0) +{ InitMenuWindow(&gWindowConfig_81E7160); SetUpWindowConfig(&gWindowConfig_81E7160); } -void ContestPaintingPrintCaption(u8 contestType, u8 arg1) { +static void ContestPaintingPrintCaption(u8 contestType, u8 arg1) +{ u8 xPos, yPos; u8 *ptr; u8 type; - if (arg1 == TRUE) { + if (arg1 == TRUE) return; - } - ptr = gUnknown_03005E40; type = gUnknown_03005E8C->contestType; - if (contestType < 8) { + if (contestType < 8) + { ptr = StringCopy(ptr, gUnknown_083F60AC[type]); ptr = StringCopy(ptr, gContestText_ContestWinner); ptr = StringCopy(ptr, gUnknown_03005E8C->trainer_name); @@ -540,7 +309,9 @@ void ContestPaintingPrintCaption(u8 contestType, u8 arg1) { xPos = 6; yPos = 14; - } else { + } + else + { ptr = StringCopy(ptr, *gUnknown_083F60C0[type].prefix); ptr = StringCopy10(ptr, gUnknown_03005E8C->pokemon_name); ptr = StringCopy(ptr, *gUnknown_083F60C0[type].suffix); @@ -548,11 +319,11 @@ void ContestPaintingPrintCaption(u8 contestType, u8 arg1) { xPos = 3; yPos = 14; } - MenuPrint_PixelCoords(gUnknown_03005E40, xPos * 8 + 1, yPos * 8, 1); } -void ContestPaintingInitBG(void) { +static void ContestPaintingInitBG(void) +{ REG_DISPCNT = 0; REG_IE |= INTR_FLAG_VBLANK; REG_BG0CNT = 0x0C42; @@ -562,20 +333,26 @@ void ContestPaintingInitBG(void) { REG_BLDY = 0; } -void ContestPaintingInitVars(bool8 arg0) { - if (arg0 == 0) { +static void ContestPaintingInitVars(bool8 arg0) +{ + if (arg0 == FALSE) + { gUnknown_03000756.var_0 = FALSE; gUnknown_03000752 = 0; gUnknown_03000754 = 0; - } else { + } + else + { gUnknown_03000756.var_0 = TRUE; gUnknown_03000752 = 15; gUnknown_03000754 = 30; } } -void ContestPaintingMosaic(void) { - if (gUnknown_03000756.var_0 == FALSE) { +static void ContestPaintingMosaic(void) +{ + if (gUnknown_03000756.var_0 == FALSE) + { REG_MOSAIC = 0; return; } @@ -586,19 +363,23 @@ void ContestPaintingMosaic(void) { REG_MOSAIC = (gUnknown_03000752 << 12) | (gUnknown_03000752 << 8) | (gUnknown_03000752 << 4) | (gUnknown_03000752 << 0); } -void VBlankCB_ContestPainting(void) { +static void VBlankCB_ContestPainting(void) +{ ContestPaintingMosaic(); LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -struct MonCoords { - u8 x, y; + +struct MonCoords +{ + u8 x; + u8 y; }; #ifdef NONMATCHING -void sub_8106AC4(u16 species, u8 arg1) { +static void sub_8106AC4(u16 species, u8 arg1) { void *pal; // Unsure what gUnknown_03005E8C->var0 is supposed to be. @@ -631,7 +412,7 @@ void sub_8106AC4(u16 species, u8 arg1) { } #else __attribute__((naked)) -void sub_8106AC4(u16 arg0, u8 arg2) { +static void sub_8106AC4(u16 arg0, u8 arg2) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ mov r7, r8\n\ @@ -727,8 +508,44 @@ _08106B8C: .4byte gUnknown_03005E10\n\ } #endif +#ifdef NONMATCHING +void sub_8106B90(u8 a[][8][8][4], u16 b[], u16 c[][8][8][8]) +{ + u16 i; + u16 j; + u16 k; + u16 l; + + for (i = 0; i < 8; i++) + { + for (j = 0; j < 8; j++) + { + for (k = 0; k < 8; k++) + { + for (l = 0; l < 8; l++) + { + //u8 *arr = a[i][j][k]; + //u8 r1 = arr[l / 2]; + u8 r1 = a[i][j][k][l / 2]; + + if (l & 1) + r1 /= 16; + else + r1 %= 16; + //_08106BEA + if (r1 == 0) + c[i][k][j][l] = 0x8000; + else + c[i][k][j][l] = b[r1]; + } + } + } + } +} +#else __attribute__((naked)) -void sub_8106B90() { +void sub_8106B90() +{ asm(".syntax unified\n\ push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -828,481 +645,146 @@ _08106C08:\n\ bx r0\n\ .syntax divided\n"); } +#endif -#ifdef NONMATCHING -void sub_8106C40(u8 arg0, u8 arg1) { +static void sub_8106C40(u8 arg0, u8 arg1) +{ + u8 x, y; + LoadPalette(gPictureFramePalettes, 0, 128 * 2); - - if (arg1 == 1) { - switch (gUnknown_03005E8C->contestType / 3) { - case CONTEST_COOL: - RLUnCompVram(gPictureFrameTiles_0, (void *) VRAM); - RLUnCompWram(gPictureFrameTilemap_0, gUnknown_03005E10); - break; - - case CONTEST_BEAUTY: - RLUnCompVram(gPictureFrameTiles_1, (void *) VRAM); - RLUnCompWram(gPictureFrameTilemap_1, gUnknown_03005E10); - break; - - case CONTEST_CUTE: - RLUnCompVram(gPictureFrameTiles_2, (void *) VRAM); - RLUnCompWram(gPictureFrameTilemap_2, gUnknown_03005E10); - break; - - case CONTEST_SMART: - RLUnCompVram(gPictureFrameTiles_3, (void *) VRAM); - RLUnCompWram(gPictureFrameTilemap_3, gUnknown_03005E10); - break; - - case CONTEST_TOUGH: - RLUnCompVram(gPictureFrameTiles_4, (void *) VRAM); - RLUnCompWram(gPictureFrameTilemap_4, gUnknown_03005E10); - break; + if (arg1 == 1) + { + switch (gUnknown_03005E8C->contestType / 3) + { + case CONTEST_COOL: + RLUnCompVram(gPictureFrameTiles_0, (void *) VRAM); + RLUnCompWram(gPictureFrameTilemap_0, gUnknown_03005E10); + break; + case CONTEST_BEAUTY: + RLUnCompVram(gPictureFrameTiles_1, (void *) VRAM); + RLUnCompWram(gPictureFrameTilemap_1, gUnknown_03005E10); + break; + case CONTEST_CUTE: + RLUnCompVram(gPictureFrameTiles_2, (void *) VRAM); + RLUnCompWram(gPictureFrameTilemap_2, gUnknown_03005E10); + break; + case CONTEST_SMART: + RLUnCompVram(gPictureFrameTiles_3, (void *) VRAM); + RLUnCompWram(gPictureFrameTilemap_3, gUnknown_03005E10); + break; + case CONTEST_TOUGH: + RLUnCompVram(gPictureFrameTiles_4, (void *) VRAM); + RLUnCompWram(gPictureFrameTilemap_4, gUnknown_03005E10); + break; } - + + #define VRAM_PICTURE_DATA(x, y) (((u16 *)(VRAM + 0x6000))[(y) * 32 + (x)]) + + // Set the background + for (y = 0; y < 20; y++) { - u8 x; - u8 y; - - u16 (*vram)[32][32] = (void *) (VRAM + 0x6000); - - // Set the background - for (y = 0; y < 20; y++) { - for (x = 0; x < 32; x++) { - (*vram)[y][x] = 1 << 12 | 21; - } - } - - // Copy the image frame - for (y = 0; y < 10; y++) { - for (x = 0; x < 18; x++) { - (*vram)[y + 2][x + 6] = (*gUnknown_03005E10)[y + 2][x + 6]; - } - } - - // Re-set the entire top row to the first top frame part - for (x = 0; x < 16; x++) { - (*vram)[2][x + 7] = (*gUnknown_03005E10)[2][7]; - } + for (x = 0; x < 32; x++) + VRAM_PICTURE_DATA(x, y) = 0x1015; } - // def_8106C7A - } else { - if (arg0 < 8) { - RLUnCompVram(gPictureFrameTiles_5, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_5, (void *) (VRAM + 0x6000)); - return; + // Copy the image frame + for (y = 0; y < 10; y++) + { + for (x = 0; x < 18; x++) + VRAM_PICTURE_DATA(x + 6, y + 2) = (*gUnknown_03005E10)[y + 2][x + 6]; } - switch (gUnknown_03005E8C->contestType / 3) { - case CONTEST_COOL: - RLUnCompVram(gPictureFrameTiles_0, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_0, (void *) (VRAM + 0x6000)); - break; - - case CONTEST_BEAUTY: - RLUnCompVram(gPictureFrameTiles_1, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_1, (void *) (VRAM + 0x6000)); - break; - - case CONTEST_CUTE: - RLUnCompVram(gPictureFrameTiles_2, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_2, (void *) (VRAM + 0x6000)); - break; - - case CONTEST_SMART: - RLUnCompVram(gPictureFrameTiles_3, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_3, (void *) (VRAM + 0x6000)); - break; - - case CONTEST_TOUGH: - RLUnCompVram(gPictureFrameTiles_4, (void *) VRAM); - RLUnCompVram(gPictureFrameTilemap_4, (void *) (VRAM + 0x6000)); - break; + // Re-set the entire top row to the first top frame part + for (x = 0; x < 16; x++) + VRAM_PICTURE_DATA(x + 7, 2) = (*gUnknown_03005E10)[2][7]; + + #undef VRAM_PICTURE_DATA + } + else if (arg0 < 8) + { + RLUnCompVram(gPictureFrameTiles_5, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_5, (void *) (VRAM + 0x6000)); + } + else + { + switch (gUnknown_03005E8C->contestType / 3) + { + case CONTEST_COOL: + RLUnCompVram(gPictureFrameTiles_0, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_0, (void *) (VRAM + 0x6000)); + break; + case CONTEST_BEAUTY: + RLUnCompVram(gPictureFrameTiles_1, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_1, (void *) (VRAM + 0x6000)); + break; + case CONTEST_CUTE: + RLUnCompVram(gPictureFrameTiles_2, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_2, (void *) (VRAM + 0x6000)); + break; + case CONTEST_SMART: + RLUnCompVram(gPictureFrameTiles_3, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_3, (void *) (VRAM + 0x6000)); + break; + case CONTEST_TOUGH: + RLUnCompVram(gPictureFrameTiles_4, (void *) VRAM); + RLUnCompVram(gPictureFrameTilemap_4, (void *) (VRAM + 0x6000)); + break; } } } -#else -__attribute__((naked)) -void sub_8106C40(u8 arg0, u8 arg1) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r4, r1, 0\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - ldr r0, _08106C7C @ =gPictureFramePalettes\n\ - movs r2, 0x80\n\ - lsls r2, 1\n\ - movs r1, 0\n\ - bl LoadPalette\n\ - cmp r4, 0x1\n\ - beq _08106C5E\n\ - b _08106DB4\n\ -_08106C5E:\n\ - ldr r0, _08106C80 @ =gUnknown_03005E8C\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0xA]\n\ - movs r1, 0x3\n\ - bl __udivsi3\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x4\n\ - bhi _08106D1C\n\ - lsls r0, 2\n\ - ldr r1, _08106C84 @ =_08106C88\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08106C7C: .4byte gPictureFramePalettes\n\ -_08106C80: .4byte gUnknown_03005E8C\n\ -_08106C84: .4byte _08106C88\n\ - .align 2, 0\n\ -_08106C88:\n\ - .4byte _08106C9C\n\ - .4byte _08106CB4\n\ - .4byte _08106CCC\n\ - .4byte _08106CE4\n\ - .4byte _08106D08\n\ -_08106C9C:\n\ - ldr r0, _08106CAC @ =gPictureFrameTiles_0\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106CB0 @ =gPictureFrameTilemap_0\n\ - b _08106CF0\n\ - .align 2, 0\n\ -_08106CAC: .4byte gPictureFrameTiles_0\n\ -_08106CB0: .4byte gPictureFrameTilemap_0\n\ -_08106CB4:\n\ - ldr r0, _08106CC4 @ =gPictureFrameTiles_1\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106CC8 @ =gPictureFrameTilemap_1\n\ - b _08106CF0\n\ - .align 2, 0\n\ -_08106CC4: .4byte gPictureFrameTiles_1\n\ -_08106CC8: .4byte gPictureFrameTilemap_1\n\ -_08106CCC:\n\ - ldr r0, _08106CDC @ =gPictureFrameTiles_2\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106CE0 @ =gPictureFrameTilemap_2\n\ - b _08106CF0\n\ - .align 2, 0\n\ -_08106CDC: .4byte gPictureFrameTiles_2\n\ -_08106CE0: .4byte gPictureFrameTilemap_2\n\ -_08106CE4:\n\ - ldr r0, _08106CFC @ =gPictureFrameTiles_3\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106D00 @ =gPictureFrameTilemap_3\n\ -_08106CF0:\n\ - ldr r1, _08106D04 @ =gUnknown_03005E10\n\ - ldr r1, [r1]\n\ - bl RLUnCompWram\n\ - b _08106D1C\n\ - .align 2, 0\n\ -_08106CFC: .4byte gPictureFrameTiles_3\n\ -_08106D00: .4byte gPictureFrameTilemap_3\n\ -_08106D04: .4byte gUnknown_03005E10\n\ -_08106D08:\n\ - ldr r0, _08106D98 @ =gPictureFrameTiles_4\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106D9C @ =gPictureFrameTilemap_4\n\ - ldr r1, _08106DA0 @ =gUnknown_03005E10\n\ - ldr r1, [r1]\n\ - bl RLUnCompWram\n\ -_08106D1C:\n\ - movs r1, 0\n\ - ldr r5, _08106DA4 @ =0x06006000\n\ - ldr r0, _08106DA8 @ =0x00001015\n\ - adds r4, r0, 0\n\ -_08106D24:\n\ - movs r3, 0\n\ - lsls r2, r1, 5\n\ -_08106D28:\n\ - adds r0, r2, r3\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - strh r4, [r0]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, 0x1F\n\ - bls _08106D28\n\ - adds r0, r1, 0x1\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - cmp r1, 0x13\n\ - bls _08106D24\n\ - movs r1, 0\n\ - ldr r0, _08106DAC @ =0x0600608c\n\ - mov r12, r0\n\ - ldr r7, _08106DA0 @ =gUnknown_03005E10\n\ -_08106D4C:\n\ - movs r3, 0\n\ - adds r6, r1, 0x1\n\ - lsls r5, r1, 5\n\ - lsls r4, r1, 6\n\ -_08106D54:\n\ - adds r2, r5, r3\n\ - lsls r2, 1\n\ - add r2, r12\n\ - ldr r0, [r7]\n\ - adds r0, r4, r0\n\ - lsls r1, r3, 1\n\ - adds r0, r1\n\ - adds r0, 0x8C\n\ - ldrh r0, [r0]\n\ - strh r0, [r2]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, 0x11\n\ - bls _08106D54\n\ - lsls r0, r6, 24\n\ - lsrs r1, r0, 24\n\ - cmp r1, 0x9\n\ - bls _08106D4C\n\ - movs r3, 0\n\ - ldr r4, _08106DB0 @ =0x0600608e\n\ - ldr r2, _08106DA0 @ =gUnknown_03005E10\n\ -_08106D80:\n\ - lsls r1, r3, 1\n\ - adds r1, r4\n\ - ldr r0, [r2]\n\ - adds r0, 0x8E\n\ - ldrh r0, [r0]\n\ - strh r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, 0xF\n\ - bls _08106D80\n\ - b _08106E86\n\ - .align 2, 0\n\ -_08106D98: .4byte gPictureFrameTiles_4\n\ -_08106D9C: .4byte gPictureFrameTilemap_4\n\ -_08106DA0: .4byte gUnknown_03005E10\n\ -_08106DA4: .4byte 0x06006000\n\ -_08106DA8: .4byte 0x00001015\n\ -_08106DAC: .4byte 0x0600608c\n\ -_08106DB0: .4byte 0x0600608e\n\ -_08106DB4:\n\ - cmp r5, 0x7\n\ - bhi _08106DD0\n\ - ldr r0, _08106DC8 @ =gPictureFrameTiles_5\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106DCC @ =gPictureFrameTilemap_5\n\ - b _08106E60\n\ - .align 2, 0\n\ -_08106DC8: .4byte gPictureFrameTiles_5\n\ -_08106DCC: .4byte gPictureFrameTilemap_5\n\ -_08106DD0:\n\ - ldr r0, _08106DF0 @ =gUnknown_03005E8C\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0xA]\n\ - movs r1, 0x3\n\ - bl __udivsi3\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x4\n\ - bhi _08106E86\n\ - lsls r0, 2\n\ - ldr r1, _08106DF4 @ =_08106DF8\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08106DF0: .4byte gUnknown_03005E8C\n\ -_08106DF4: .4byte _08106DF8\n\ - .align 2, 0\n\ -_08106DF8:\n\ - .4byte _08106E0C\n\ - .4byte _08106E24\n\ - .4byte _08106E3C\n\ - .4byte _08106E54\n\ - .4byte _08106E74\n\ -_08106E0C:\n\ - ldr r0, _08106E1C @ =gPictureFrameTiles_0\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106E20 @ =gPictureFrameTilemap_0\n\ - b _08106E60\n\ - .align 2, 0\n\ -_08106E1C: .4byte gPictureFrameTiles_0\n\ -_08106E20: .4byte gPictureFrameTilemap_0\n\ -_08106E24:\n\ - ldr r0, _08106E34 @ =gPictureFrameTiles_1\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106E38 @ =gPictureFrameTilemap_1\n\ - b _08106E60\n\ - .align 2, 0\n\ -_08106E34: .4byte gPictureFrameTiles_1\n\ -_08106E38: .4byte gPictureFrameTilemap_1\n\ -_08106E3C:\n\ - ldr r0, _08106E4C @ =gPictureFrameTiles_2\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106E50 @ =gPictureFrameTilemap_2\n\ - b _08106E60\n\ - .align 2, 0\n\ -_08106E4C: .4byte gPictureFrameTiles_2\n\ -_08106E50: .4byte gPictureFrameTilemap_2\n\ -_08106E54:\n\ - ldr r0, _08106E68 @ =gPictureFrameTiles_3\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106E6C @ =gPictureFrameTilemap_3\n\ -_08106E60:\n\ - ldr r1, _08106E70 @ =0x06006000\n\ - bl RLUnCompVram\n\ - b _08106E86\n\ - .align 2, 0\n\ -_08106E68: .4byte gPictureFrameTiles_3\n\ -_08106E6C: .4byte gPictureFrameTilemap_3\n\ -_08106E70: .4byte 0x06006000\n\ -_08106E74:\n\ - ldr r0, _08106E8C @ =gPictureFrameTiles_4\n\ - movs r1, 0xC0\n\ - lsls r1, 19\n\ - bl RLUnCompVram\n\ - ldr r0, _08106E90 @ =gPictureFrameTilemap_4\n\ - ldr r1, _08106E94 @ =0x06006000\n\ - bl RLUnCompVram\n\ -_08106E86:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08106E8C: .4byte gPictureFrameTiles_4\n\ -_08106E90: .4byte gPictureFrameTilemap_4\n\ -_08106E94: .4byte 0x06006000\n\ - .syntax divided\n"); -} -#endif -#ifdef NONMATCHING -void sub_8106E98(u8 arg0 ) { +static void sub_8106E98(u8 arg0) +{ + //Some hacks just to get the asm to match +#ifndef NONMATCHING + asm(""::"r"(arg0)); +#endif + gMain.oamBuffer[0] = gOamData_83F6138; - gMain.oamBuffer[0].tileNum = 0; + +#ifndef NONMATCHING + if (arg0) arg0 = gMain.oamBuffer[0].tileNum; +#endif + gMain.oamBuffer[0].x = 88; gMain.oamBuffer[0].y = 24; } -#else -__attribute__((naked)) -void sub_8106E98(u8 arg0) { - asm(".syntax unified\n\ - push {r4,lr}\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - ldr r4, _08106ED0 @ =gMain\n\ - ldr r1, _08106ED4 @ =gOamData_83F6138\n\ - ldr r2, [r1, 0x4]\n\ - ldr r1, [r1]\n\ - str r1, [r4, 0x3C]\n\ - str r2, [r4, 0x40]\n\ - adds r3, r4, 0\n\ - adds r3, 0x40\n\ - ldrh r2, [r3]\n\ - ldr r1, _08106ED8 @ =0xfffffc00\n\ - ands r1, r2\n\ - strh r1, [r3]\n\ - ldrh r1, [r4, 0x3E]\n\ - ldr r0, _08106EDC @ =0xfffffe00\n\ - ands r0, r1\n\ - movs r1, 0x58\n\ - orrs r0, r1\n\ - strh r0, [r4, 0x3E]\n\ - adds r1, r4, 0\n\ - adds r1, 0x3C\n\ - movs r0, 0x18\n\ - strb r0, [r1]\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08106ED0: .4byte gMain\n\ -_08106ED4: .4byte gOamData_83F6138\n\ -_08106ED8: .4byte 0xfffffc00\n\ -_08106EDC: .4byte 0xfffffe00\n\ - .syntax divided\n"); -} -#endif -u8 sub_8106EE0(u8 arg0) { +static u8 sub_8106EE0(u8 arg0) +{ u8 contestType; - if (arg0 < 8) { + if (arg0 < 8) contestType = gUnknown_03005E8C->contestType; - } else { + else contestType = gUnknown_03005E8C->contestType / 3; - } - - switch (contestType) { - case CONTEST_COOL: - return CONTESTRESULT_COOL; - - case CONTEST_BEAUTY: - return CONTESTRESULT_BEAUTY; - - case CONTEST_CUTE: - return CONTESTRESULT_CUTE; - - case CONTEST_SMART: - return CONTESTRESULT_SMART; - case CONTEST_TOUGH: - return CONTESTRESULT_TOUGH; + switch (contestType) + { + case CONTEST_COOL: + return CONTESTRESULT_COOL; + case CONTEST_BEAUTY: + return CONTESTRESULT_BEAUTY; + case CONTEST_CUTE: + return CONTESTRESULT_CUTE; + case CONTEST_SMART: + return CONTESTRESULT_SMART; + case CONTEST_TOUGH: + return CONTESTRESULT_TOUGH; } return contestType; } -#ifdef NONMATCHING -void sub_8106F4C(void) { - gUnknown_03005E90 = (void *) 0x02017e00; - gUnknown_03005E10 = (void *) 0x02015e00; -} -#else -__attribute__((naked)) -void sub_8106F4C(void) { - asm(".syntax unified\n\ - ldr r0, _08106F5C @ =gUnknown_03005E90\n\ - ldr r1, _08106F60 @ =0x02017e00\n\ - str r1, [r0]\n\ - ldr r0, _08106F64 @ =gUnknown_03005E10\n\ - ldr r2, _08106F68 @ =0xffffe000\n\ - adds r1, r2\n\ - str r1, [r0]\n\ - bx lr\n\ - .align 2, 0\n\ -_08106F5C: .4byte gUnknown_03005E90\n\ -_08106F60: .4byte 0x02017e00\n\ -_08106F64: .4byte gUnknown_03005E10\n\ -_08106F68: .4byte 0xffffe000\n\ - .syntax divided\n"); +static void sub_8106F4C(void) +{ + gUnknown_03005E90 = &unk_2015e00.unk2017e00; + gUnknown_03005E10 = &unk_2015e00.unk2015e00; } -#endif -void sub_8106F6C(u8 arg0) { +static void sub_8106F6C(u8 arg0) +{ gUnknown_03005E20.var_4 = gUnknown_03005E10; gUnknown_03005E20.var_8 = gUnknown_03005E90; gUnknown_03005E20.var_18 = 0; @@ -1314,18 +796,18 @@ void sub_8106F6C(u8 arg0) { gUnknown_03005E20.var_1D = 64; gUnknown_03005E20.var_1E = 64; - switch (arg0) { - case CONTESTRESULT_SMART: - case CONTESTRESULT_TOUGH: - gUnknown_03005E20.var_14 = 3; - break; - - case CONTESTRESULT_COOL: - case CONTESTRESULT_BEAUTY: - case CONTESTRESULT_CUTE: - default: - gUnknown_03005E20.var_14 = 1; - break; + switch (arg0) + { + case CONTESTRESULT_SMART: + case CONTESTRESULT_TOUGH: + gUnknown_03005E20.var_14 = 3; + break; + case CONTESTRESULT_COOL: + case CONTESTRESULT_BEAUTY: + case CONTESTRESULT_CUTE: + default: + gUnknown_03005E20.var_14 = 1; + break; } gUnknown_03005E20.var_16 = 2; @@ -1339,15 +821,11 @@ void sub_8106F6C(u8 arg0) { LoadPalette(gUnknown_03005E90, 256, 256 * 2); } -void sub_8107090(u8 arg0, u8 arg1) { - u8 local0; - +static void sub_8107090(u8 arg0, u8 arg1) +{ sub_8106F4C(); sub_8106AC4(gUnknown_03005E8C->var8, 0); - - local0 = sub_8106EE0(arg0); - sub_8106F6C(local0); - + sub_8106F6C(sub_8106EE0(arg0)); sub_8106E98(arg0); sub_8106C40(arg0, arg1); } diff --git a/src/credits.c b/src/credits.c index ef89707ff..13a6a1633 100644 --- a/src/credits.c +++ b/src/credits.c @@ -9,6 +9,72 @@ #include "task.h" #include "text.h" +enum { + PAGE_TITLE, + PAGE_DIRECTOR, + PAGE_ART_DIRECTOR, + PAGE_BATTLE_DIRECTOR, + PAGE_MAIN_PROGRAMMER, + PAGE_BATTLE_SYSTEM_PROGRAMMER, + PAGE_PROGRAMMERS_1, + PAGE_PROGRAMMERS_2, + PAGE_PROGRAMMERS_3, + PAGE_MAIN_GRAHPICS_DESIGNER, + PAGE_POKEMON_GRAHPIC_DESIGNERS_1, + PAGE_POKEMON_GRAHPIC_DESIGNERS_2, + PAGE_POKEMON_GRAHPIC_DESIGNERS_3, + PAGE_POKEMON_DESIGNERS_1, + PAGE_POKEMON_DESIGNERS_2, + PAGE_MUSIC_COMPOSITION, + PAGE_SOUND_EFFECTS, + PAGE_GAME_DESIGNERS_1, + PAGE_GAME_DESIGNERS_2, + PAGE_GAME_DESIGNERS_3, + PAGE_PLOT_SCENARIO, + PAGE_GAME_SCENARIO, + PAGE_SCRIPT_DESIGNERS, + PAGE_MAP_DESIGNERS, + PAGE_MAP_DATA_DESIGNERS, + PAGE_PARAMETRIC_DESIGNERS, + PAGE_POKEDEX_TEXT, + PAGE_ENVIRONMENT_TOOLS, + PAGE_PRODUCT_TESTING, + PAGE_SPECIAL_THANKS, + PAGE_SPECIAL_THANKS_1, + PAGE_SPECIAL_THANKS_2, + PAGE_SPECIAL_THANKS_3, + PAGE_INFORMATION_SUPERVISORS, + PAGE_COORDINATORS, + PAGE_TASK_MANAGERS, + PAGE_PRODUCERS, + PAGE_EXECUTIVE_DIRECTOR, + PAGE_EXECUTIVE_PRODUCERS_1, + PAGE_EXECUTIVE_PRODUCERS_2, + PAGE_TRANSLATION_COORDINATOR, + PAGE_TRANSLATORS, + PAGE_PROGRAMMERS, + PAGE_GRAPHIC_DESIGNERS, + PAGE_PRODUCT_SUPPORT, + PAGE_ARTWORK, + PAGE_TEXT_EDITOR, + PAGE_NOA_TESTING, + PAGE_BRAILLE_CODE_CHECK_1, + PAGE_BRAILLE_CODE_CHECK_2, + PAGE_SPECIAL_THANKS_4, + PAGE_SPECIAL_THANKS_5, + + PAGE_COUNT +}; + +#define UNK_DEFINE_82 (0x82) + +#define COLOR_DARK_GREEN 0x1967 +#define COLOR_LIGHT_GREEN 0x328D + +enum { + TD_CURRENT_PAGE = 2, +}; + struct Unk201C000 { u8 pad_00[0x88]; u16 var_88; @@ -22,6 +88,11 @@ struct HallOfFame { u8 sheet2[0x800]; }; +struct CreditsEntry { + u8 var_0; + u8 *text; +}; + extern struct Unk201C000 unk_201C000; extern struct HallOfFame gHallOfFame; @@ -45,6 +116,7 @@ extern u8 gBirchHelpGfx[]; // data/credits extern u16 gUnknown_0840B7BC[32]; extern u16 gUnknown_0840B7FC[32]; +extern struct CreditsEntry *gCreditsEntryPointerTable[][5]; extern struct SpriteSheet gUnknown_0840CAA0; extern struct SpritePalette gUnknown_0840CAB0; @@ -62,8 +134,9 @@ static void sub_8144024(u8 taskId); static void sub_8144080(u8 taskId); static void sub_8144114(u8 taskId); static void sub_8144130(void); +static void sub_81441B8(u8 taskId); +static u8 sub_8144454(u8 page, u8 taskId); -void sub_81441B8(u8 taskId); void sub_8144514(u8 taskId); u8 sub_8144ECC(u8 data, u8 taskId); void sub_81450AC(u8 taskId); @@ -83,15 +156,18 @@ static void sub_814395C(void) { BuildOamBuffer(); UpdatePaletteFade(); - if (!(gMain.heldKeys & B_BUTTON)) { + if (!(gMain.heldKeys & B_BUTTON)) + { return; } - if (!gUnknown_02039324) { + if (!gUnknown_02039324) + { return; } - if (gTasks[gUnknown_02039322].func != sub_8143B68) { + if (gTasks[gUnknown_02039322].func != sub_8143B68) + { return; } @@ -108,7 +184,7 @@ void sub_81439D0(void) { s16 taskId3; u8 taskId2; u16 savedIme; - struct Unk201C000 * c000; + struct Unk201C000 *c000; sub_8144130(); SetVBlankCallback(NULL); @@ -122,8 +198,10 @@ void sub_81439D0(void) { gTasks[taskId].data[11] = 0; gTasks[taskId].data[13] = 1; - while (TRUE) { - if (sub_8144ECC(0, taskId)) { + while (TRUE) + { + if (sub_8144ECC(0, taskId)) + { break; } } @@ -171,7 +249,8 @@ void sub_81439D0(void) { } void sub_8143B38(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -181,7 +260,8 @@ void sub_8143B38(u8 taskId) { void sub_8143B68(u8 taskId) { u16 data11; - if (gTasks[taskId].data[4]) { + if (gTasks[taskId].data[4]) + { s16 secondaryTaskId; secondaryTaskId = gTasks[taskId].data[1]; @@ -195,12 +275,15 @@ void sub_8143B68(u8 taskId) { gUnknown_02039320 = 0; data11 = gTasks[taskId].data[11]; - if (gTasks[taskId].data[11] == 1) { + if (gTasks[taskId].data[11] == 1) + { gTasks[taskId].data[13] = data11; gTasks[taskId].data[11] = 0; BeginNormalPaletteFade(-1, 0, 0, 16, 0); gTasks[taskId].func = sub_8143BFC; - } else if (gTasks[taskId].data[11] == 2) { + } + else if (gTasks[taskId].data[11] == 2) + { gTasks[taskId].data[13] = data11; gTasks[taskId].data[11] = 0; BeginNormalPaletteFade(-1, 0, 0, 16, 0); @@ -209,7 +292,8 @@ void sub_8143B68(u8 taskId) { } static void sub_8143BFC(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -223,7 +307,8 @@ static void c2_080C9BFC(u8 taskId) { SetVBlankCallback(NULL); - if (!sub_8144ECC(gTasks[taskId].data[7], taskId)) { + if (!sub_8144ECC(gTasks[taskId].data[7], taskId)) + { return; } @@ -240,7 +325,8 @@ static void c2_080C9BFC(u8 taskId) { } static void sub_8143CC0(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -252,58 +338,58 @@ static void sub_8143CC0(u8 taskId) { #ifdef NONMATCHING static void sub_8143D04(u8 taskId) { switch (gMain.state) { - default: - case 0: { - u16 i; - - ResetSpriteData(); - FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 8; - LZ77UnCompVram(&gBirchHelpGfx, (void *) VRAM); - LZ77UnCompVram(&gBirchBagTilemap, (void *) (VRAM + 0x3800)); - LoadPalette(gBirchBagGrassPal + 2, 1, 31 * 2); - - for (i = 0; i < 0x800; i++) { - gHallOfFame.sheet0[i] = 0x11; - } + default: + case 0: { + u16 i; + + ResetSpriteData(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 8; + LZ77UnCompVram(&gBirchHelpGfx, (void *) VRAM); + LZ77UnCompVram(&gBirchBagTilemap, (void *) (VRAM + 0x3800)); + LoadPalette(gBirchBagGrassPal + 2, 1, 31 * 2); + + for (i = 0; i < 0x800; i++) { + gHallOfFame.sheet0[i] = 0x11; + } - for (i = 0; i < 0x800; i++) { - gHallOfFame.sheet1[i] = 0x22; - } + for (i = 0; i < 0x800; i++) { + gHallOfFame.sheet1[i] = 0x22; + } - for (i = 0; i < 0x800; i++) { - gHallOfFame.sheet2[i] = 0x33; - } + for (i = 0; i < 0x800; i++) { + gHallOfFame.sheet2[i] = 0x33; + } - unk_201f800[0] = 0; - unk_201f800[1] = 0x53FF; - unk_201f800[2] = 0x529F; - unk_201f800[3] = 0x7E94; + unk_201f800[0] = 0; + unk_201f800[1] = 0x53FF; // light yellow + unk_201f800[2] = 0x529F; // light red + unk_201f800[3] = 0x7E94; // light blue - LoadSpriteSheet(&gUnknown_0840CAA0); - LoadSpritePalette(&gUnknown_0840CAB0); + LoadSpriteSheet(&gUnknown_0840CAA0); + LoadSpritePalette(&gUnknown_0840CAB0); - gMain.state += 1; - break; - } + gMain.state += 1; + break; + } - case 1: { - gTasks[taskId].data[3] = CreateTask(sub_8144514, 0); - gTasks[gTasks[taskId].data[3]].data[0] = 1; - gTasks[gTasks[taskId].data[3]].data[1] = taskId; - gTasks[gTasks[taskId].data[3]].data[2] = gTasks[taskId].data[7]; - - BeginNormalPaletteFade(-1, 0, 16, 0, 0); - REG_BG3HOFS = 0; - REG_BG3VOFS = 32; - REG_BG3CNT = 0x703; - REG_DISPCNT = 0x1940; - - gMain.state = 0; - gUnknown_0203935C = 0; - gTasks[taskId].func = sub_8143B38; - break; - } + case 1: { + gTasks[taskId].data[3] = CreateTask(sub_8144514, 0); + gTasks[gTasks[taskId].data[3]].data[0] = 1; + gTasks[gTasks[taskId].data[3]].data[1] = taskId; + gTasks[gTasks[taskId].data[3]].data[2] = gTasks[taskId].data[7]; + + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + REG_BG3HOFS = 0; + REG_BG3VOFS = 32; + REG_BG3CNT = 0x703; + REG_DISPCNT = 0x1940; + + gMain.state = 0; + gUnknown_0203935C = 0; + gTasks[taskId].func = sub_8143B38; + break; + } } } #else @@ -508,7 +594,8 @@ _08143EB8: .4byte sub_8143B38\n\ #endif static void sub_8143EBC(u8 taskId) { - if (gTasks[taskId].data[12]) { + if (gTasks[taskId].data[12]) + { gTasks[taskId].data[12] -= 1; return; } @@ -518,7 +605,8 @@ static void sub_8143EBC(u8 taskId) { } static void sub_8143F04(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -549,7 +637,8 @@ static void sub_8143F3C(u8 taskId) { } static void sub_8143FDC(u8 taskId) { - if (gTasks[taskId].data[0]) { + if (gTasks[taskId].data[0]) + { gTasks[taskId].data[0] -= 1; return; } @@ -559,7 +648,8 @@ static void sub_8143FDC(u8 taskId) { } static void sub_8144024(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -571,29 +661,34 @@ static void sub_8144024(u8 taskId) { } static void sub_8144080(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } - if (gTasks[taskId].data[0] == 0) { + if (gTasks[taskId].data[0] == 0) + { FadeOutBGM(4); BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); gTasks[taskId].func = sub_8144114; return; } - if (gMain.newKeys) { + if (gMain.newKeys) + { FadeOutBGM(4); BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); gTasks[taskId].func = sub_8144114; return; } - if (gTasks[taskId].data[0] == 7144) { + if (gTasks[taskId].data[0] == 7144) + { FadeOutBGM(8); } - if (gTasks[taskId].data[0] == 6840) { + if (gTasks[taskId].data[0] == 6840) + { m4aSongNumStart(BGM_END); } @@ -601,7 +696,8 @@ static void sub_8144080(u8 taskId) { } static void sub_8144114(u8 taskId) { - if (gPaletteFade.active) { + if (gPaletteFade.active) + { return; } @@ -624,7 +720,197 @@ static void sub_8144130(void) { REG_BLDALPHA = 0; REG_BLDY = 0; - DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); - DmaFill32(3, 0, (void *)OAM, OAM_SIZE); - DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + DmaFill16(3, 0, (void *) VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *) OAM, OAM_SIZE); + DmaFill16(3, 0, (void *) (PLTT + 2), PLTT_SIZE - 2); +} + +static void sub_81441B8(u8 taskId) { + u16 i; + + switch (gTasks[taskId].data[0]) + { + case 0: + case 6: + case 7: + case 8: + case 9: + default: + if (gPaletteFade.active) + { + return; + } + gTasks[taskId].data[0] = 1; + gTasks[taskId].data[3] = 0x58; + gTasks[gTasks[taskId].data[1]].data[14] = 0; + gUnknown_02039320 = 0; + return; + + case 1: + if (gTasks[taskId].data[3] != 0) + { + gTasks[taskId].data[3] -= 1; + return; + } + + gTasks[taskId].data[0] += 1; + return; + + case 2: + REG_DISPCNT &= ~DISPCNT_BG0_ON; + + if (gTasks[gTasks[taskId].data[1]].func == sub_8143B68) + { + if (gTasks[taskId].data[TD_CURRENT_PAGE] < PAGE_COUNT) + { + + for (i = 0; i < 5; i++) + { + sub_8072BD8(gCreditsEntryPointerTable[gTasks[taskId].data[TD_CURRENT_PAGE]][i]->text, 0, + 9 + i * 2, 240); + } + + gTasks[taskId].data[TD_CURRENT_PAGE] += 1; + gTasks[taskId].data[0] += 1; + + gTasks[gTasks[taskId].data[1]].data[14] = 1; + + if (gTasks[gTasks[taskId].data[1]].data[13] == 1) + { + BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_LIGHT_GREEN); + } + else + { + BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_DARK_GREEN); + } + return; + } + + + gTasks[taskId].data[0] = 10; + return; + } + + gTasks[gTasks[taskId].data[1]].data[14] = 0; + return; + + case 3: + REG_DISPCNT |= DISPCNT_BG0_ON; + + if (gPaletteFade.active) + { + return; + } + + gTasks[taskId].data[3] = UNK_DEFINE_82; + gTasks[taskId].data[0] += 1; + return; + + case 4: + if (gTasks[taskId].data[3] != 0) + { + gTasks[taskId].data[3] -= 1; + return; + } + + if (sub_8144454((u8) gTasks[taskId].data[2], (u8) gTasks[taskId].data[1])) + { + gTasks[taskId].data[0] += 1; + return; + } + + gTasks[taskId].data[0] += 1; + + if (gTasks[gTasks[taskId].data[1]].data[13] == 1) + { + BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_LIGHT_GREEN); + } + else + { + BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_DARK_GREEN); + } + + return; + + case 5: + if (gPaletteFade.active) + { + return; + } + + MenuZeroFillWindowRect(0, 9, 29, 19); + gTasks[taskId].data[0] = 2; + return; + + case 10: + gTasks[gTasks[taskId].data[1]].data[4] = 1; + DestroyTask(taskId); + return; + } +} + +#define LAST_PAGE (PAGE_TEXT_EDITOR) + +static u8 sub_8144454(u8 page, u8 taskId) { + // Starts with bike + ocean + morning + + if (page == PAGE_PROGRAMMERS_1) + { + // Grass patch + gTasks[taskId].data[11] = 2; + } + + if (page == PAGE_POKEMON_GRAHPIC_DESIGNERS_3) + { + // Bike + ocean + sunset + gTasks[taskId].data[7] = 1; + gTasks[taskId].data[11] = 1; + } + + if (page == PAGE_GAME_DESIGNERS_2) + { + // Grass patch + gTasks[taskId].data[11] = 2; + } + + if (page == PAGE_MAP_DATA_DESIGNERS) + { + // Bike + forest + sunset + gTasks[taskId].data[7] = 2; + gTasks[taskId].data[11] = 1; + } + + if (page == PAGE_SPECIAL_THANKS_1) + { + // Grass patch + gTasks[taskId].data[11] = 2; + } + + if (page == PAGE_TASK_MANAGERS) + { + // Bike + forest + sunset + gTasks[taskId].data[7] = 3; + gTasks[taskId].data[11] = 1; + } + + if (page == PAGE_TRANSLATION_COORDINATOR) + { + // Grass patch + gTasks[taskId].data[11] = 2; + } + + if (page == LAST_PAGE) + { + // Bike + town + night + gTasks[taskId].data[7] = 4; + gTasks[taskId].data[11] = 1; + } + + if (gTasks[taskId].data[11] != 0) + { + // Returns true if changed? + return TRUE; + } + + return FALSE; } diff --git a/src/daycare.c b/src/daycare.c new file mode 100644 index 000000000..23f0305d8 --- /dev/null +++ b/src/daycare.c @@ -0,0 +1,33 @@ +#include "global.h" +#include "pokemon.h" +#include "string_util.h" + +u8 *pokemon_get_nick(struct Pokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 *pokemon_get_nick_(struct BoxPokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 daycare_count_pokemon(struct BoxPokemon *daycare_data) +{ + u8 i, count; + count = 0; + + for(i = 0;i <= 1;i++) { + if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) { + count++; + } + } + + return count; +} diff --git a/src/truck_scene.c b/src/field_special_scene.c index 64eca498c..80a1727d8 100644 --- a/src/truck_scene.c +++ b/src/field_special_scene.c @@ -1,5 +1,5 @@ #include "global.h" -#include "truck_scene.h" +#include "field_special_scene.h" #include "asm.h" #include "palette.h" #include "task.h" @@ -7,9 +7,15 @@ #include "songs.h" #include "sound.h" #include "field_camera.h" +#include "rom4.h" +#include "event_data.h" +#include "sprite.h" extern s8 gTruckCamera_HorizontalTable[]; +extern u8 gUnknown_083D295F[]; +extern u8 gUnknown_083D2961[]; + s32 GetTruckCameraBobbingY(int a1) { if (!(a1 % 120)) @@ -65,10 +71,10 @@ void Task_Truck2(u8 taskId) s16 box1; s16 box2; s16 box3; - + data[0]++; data[2]++; - + if (data[0] > 5) { data[0] = 0; @@ -82,7 +88,7 @@ void Task_Truck2(u8 taskId) { if (gTruckCamera_HorizontalTable[data[1]] == 2) gTasks[taskId].func = Task_Truck3; - + cameraXpan = gTruckCamera_HorizontalTable[data[1]]; cameraYpan = GetTruckCameraBobbingY(data[2]); SetCameraPanning(cameraXpan, cameraYpan); @@ -218,3 +224,112 @@ void EndTruckSequence(void) sub_805BD90(3, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -3, 0); } } + +bool8 sub_80C7754(void) +{ + s8 mapGroup, mapNum; + s16 x, y; + + if (sub_810D9EC(&mapGroup, &mapNum, &x, &y)) + { + return FALSE; + } + else + { + warp1_set(mapGroup, mapNum, -1, x, y); + return TRUE; + } +} + +void sub_80C77A0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *var = GetVarPointer(0x40B4); + struct WarpData *location = &gSaveBlock1.location; + + switch (data[0]) + { + case 0: + if (!gPaletteFade.active) + { + data[1] = 0; + data[0] = 2; + } + break; + case 1: + if (gMain.newKeys & A_BUTTON) + data[1] = 1; + if (!sub_80A212C(0xFF, location->mapNum, location->mapGroup)) + return; + if (sub_810D9B0(1) == TRUE) + { + if (*var == 2) + *var = 9; + else + *var = 10; + data[0] = 3; + return; + } + data[0] = 2; + case 2: + if (data[1]) + { + data[0] = 3; + return; + } + + if (*var == 2) + { + exec_movement(0xFF, location->mapNum, location->mapGroup, gUnknown_083D295F); + data[0] = 1; + } + else + { + exec_movement(0xFF, location->mapNum, location->mapGroup, gUnknown_083D2961); + data[0] = 1; + } + break; + case 3: + FlagReset(0x4001); + FlagReset(0x4000); + copy_saved_warp2_bank_and_enter_x_to_warp1(0); + sp13E_warp_to_last_warp(); + DestroyTask(taskId); + break; + } +} + +void sub_80C78A0(void) +{ + u8 spriteId = AddPseudoFieldObject(0x8C, SpriteCallbackDummy, 112, 80, 0); + + gSprites[spriteId].coordOffsetEnabled = FALSE; + + if (VarGet(0x40B4) == 2) + { + StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(4)); + } + else + { + StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(3)); + } +} + +void sub_80C791C(void) +{ + sub_80C78A0(); + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = TRUE; + pal_fill_black(); + CreateTask(sub_80C77A0, 80); + ScriptContext2_Enable(); +} + +void sub_80C7958(void) +{ + FlagSet(SYS_CRUISE_MODE); + FlagSet(0x4001); + FlagSet(0x4000); + saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1); + sub_80C7754(); + sub_8080F9C(); +} diff --git a/src/menu_cursor.c b/src/menu_cursor.c index 5c1f0addf..201c6c4d8 100644 --- a/src/menu_cursor.c +++ b/src/menu_cursor.c @@ -13,7 +13,7 @@ extern struct SpriteTemplate gSpriteTemplate_842F298[]; extern struct Subsprite *gUnknown_0842F5BC[]; extern struct SubspriteTable gSubspriteTables_842F5C0[]; -extern struct SubspriteTable gUnknown_0842F6C0[]; +extern struct SubspriteTable gSubspriteTables_842F6C0[]; extern struct SubspriteTable gUnknown_0842F758[]; extern struct Subsprite gUnknown_0842F780; @@ -601,6 +601,6 @@ void sub_814ADF4(u8 a1) a1 = 0; if (gUnknown_0203A3D2 != 0x40) - SetSubspriteTables(&gSprites[gUnknown_0203A3D2], &gUnknown_0842F6C0[a1]); + SetSubspriteTables(&gSprites[gUnknown_0203A3D2], &gSubspriteTables_842F6C0[a1]); return; } diff --git a/src/rom4.c b/src/rom4.c index 4f3e35fea..3f383b690 100644 --- a/src/rom4.c +++ b/src/rom4.c @@ -26,7 +26,7 @@ #include "start_menu.h" #include "task.h" #include "tileset_anim.h" -#include "truck_scene.h" +#include "field_special_scene.h" #include "weather.h" #include "wild_encounter.h" #include "metatile_behavior.h" @@ -57,9 +57,6 @@ extern u16 gUnknown_02029814; extern bool8 gUnknown_02029816; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; -extern u8 gUnknown_0202E85C; -extern u8 gUnknown_0202E85D; - extern u8 gUnknown_03000580[]; extern u16 (*gUnknown_03000584)(u32); extern u8 gUnknown_03000588; @@ -370,7 +367,7 @@ void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y warp_set(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, x, y); } -void copy_saved_warp2_bank_and_enter_x_to_warp1(void) +void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) { gUnknown_020297F8 = gSaveBlock1.warp2; } diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 41e61eadb..2396aab15 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -33,9 +33,6 @@ extern struct SaveFailedStruct gUnknown_0203933E; extern u32 gUnknown_03005EA8; extern u32 gUnknown_03005EBC; -extern struct OamData gUnknown_08411940; -extern u8 gUnknown_08411948[][3]; - extern u8 gBirchHelpGfx[]; extern u8 gSystemText_SaveFailedBackupCheck[]; @@ -52,6 +49,35 @@ extern const u8 gSaveFailedClockGfx[]; extern const u8 gSaveFailedClockPal[]; extern u8 gBirchBagGrassPal[]; +static const struct OamData sClockOamData = +{ + 160, // Y + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 +}; + +static const u8 sClockFrames[8][3] = +{ + { 1, 0, 0 }, + { 5, 0, 0 }, + { 9, 0, 0 }, + { 5, 0, 1 }, + { 1, 0, 1 }, + { 5, 1, 1 }, + { 9, 1, 0 }, + { 5, 1, 0 }, +}; + static void VBlankCB(void); static void CB2_SaveFailedScreen(void); static void CB2_WipeSave(void); @@ -236,14 +262,14 @@ static void VBlankCB_UpdateClockGraphics(void) { unsigned int n = (gMain.vblankCounter2 >> 3) & 7; - gMain.oamBuffer[0] = gUnknown_08411940; + gMain.oamBuffer[0] = sClockOamData; gMain.oamBuffer[0].x = 112; gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8; if (gUnknown_0203933E.unk0) { - gMain.oamBuffer[0].tileNum = gUnknown_08411948[n][0]; - gMain.oamBuffer[0].matrixNum = (gUnknown_08411948[n][2] << 4) | (gUnknown_08411948[n][1] << 3); + gMain.oamBuffer[0].tileNum = sClockFrames[n][0]; + gMain.oamBuffer[0].matrixNum = (sClockFrames[n][2] << 4) | (sClockFrames[n][1] << 3); } else { diff --git a/src/starter_choose.c b/src/starter_choose.c index 68e644353..9bd817cce 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -28,7 +28,7 @@ extern struct SpriteSheet gUnknown_083F77A4; extern u8 gBirchBagGrassPal[]; extern const u8 gStarterChoose_LabelCoords[][2]; extern u16 gStarterMons[]; -extern union AffineAnimCmd *gUnknown_083F778C[]; +extern union AffineAnimCmd *gSpriteAffineAnimTable_83F778C[]; extern u8 gOtherText_DoYouChoosePoke[]; extern u16 gScriptResult; extern u8 gSpeciesNames[][11]; @@ -216,7 +216,7 @@ static void Task_StarterChoose2(u8 taskId) GetStarterPokemon(gTasks[taskId].data[TD_STARTERSELECTION]), gStarterChoose_PokeballCoords[selection][0], gStarterChoose_PokeballCoords[selection][1]); - gSprites[spriteId].affineAnims = gUnknown_083F778C; + gSprites[spriteId].affineAnims = gSpriteAffineAnimTable_83F778C; gSprites[spriteId].callback = StarterPokemonSpriteAnimCallback; gTasks[taskId].data[TD_PKMN_SPRITE_ID] = spriteId; diff --git a/sym_ewram.txt b/sym_ewram.txt index 97b099d65..13304fef9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -6,9 +6,8 @@ .space 0x2E8 .include "src/link.o" - - .align 2 + .align 2 gUnknown_020238C4: @ 20238C4 .space 0x1 |