diff options
author | ultima-soul <akshayjhanji@hotmail.com> | 2019-12-02 22:47:45 -0800 |
---|---|---|
committer | ultima-soul <akshayjhanji@hotmail.com> | 2019-12-02 22:47:45 -0800 |
commit | e45aee1ff2c693d09b47cd381a94557b3f3cdcb8 (patch) | |
tree | 26884d121e4d52ba1e073f14c31b80b6ac94ac09 | |
parent | 385740fc144fb051a139dc764b7b2598599678e8 (diff) |
Port/dump dodrio_berry_picking data.
18 files changed, 899 insertions, 240 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index ceccf74ff..892dff901 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -6691,7 +6691,7 @@ sub_8153A9C: @ 8153A9C ldr r0, [r0] str r0, [sp, 0x10] str r1, [sp, 0x14] - ldr r0, _08153AF8 @ =gUnknown_8477374 + ldr r0, _08153AF8 @ =gDodrioBerryPkmnGfx adds r1, r4, 0 bl LZ77UnCompWram cmp r4, 0 @@ -6714,7 +6714,7 @@ _08153ADC: .align 2, 0 _08153AF0: .4byte gUnknown_8478D90 _08153AF4: .4byte gUnknown_8478D98 -_08153AF8: .4byte gUnknown_8477374 +_08153AF8: .4byte gDodrioBerryPkmnGfx thumb_func_end sub_8153A9C thumb_func_start sub_8153AFC @@ -6741,9 +6741,9 @@ sub_8153AFC: @ 8153AFC mov r0, sp adds r0, 0x1A strh r2, [r0] - ldr r0, _08153B88 @ =gUnknown_8478C98 + ldr r0, _08153B88 @ =sOamData_8478C98 str r0, [sp, 0x1C] - ldr r0, _08153B8C @ =gUnknown_8478CE0 + ldr r0, _08153B8C @ =sSpriteAnimTable_8478CE0 str r0, [sp, 0x20] str r3, [sp, 0x24] ldr r0, _08153B90 @ =gDummySpriteAffineAnimTable @@ -6784,8 +6784,8 @@ sub_8153AFC: @ 8153AFC pop {r0} bx r0 .align 2, 0 -_08153B88: .4byte gUnknown_8478C98 -_08153B8C: .4byte gUnknown_8478CE0 +_08153B88: .4byte sOamData_8478C98 +_08153B8C: .4byte sSpriteAnimTable_8478CE0 _08153B90: .4byte gDummySpriteAffineAnimTable _08153B94: .4byte sub_8153B9C _08153B98: .4byte gUnknown_203F3E4 @@ -7167,7 +7167,7 @@ sub_8153E28: @ 8153E28 ldr r0, [r0] str r0, [sp, 0x20] str r1, [sp, 0x24] - ldr r0, _08153ECC @ =gUnknown_8477198 + ldr r0, _08153ECC @ =gDodrioBerryStatusGfx adds r1, r6, 0 bl LZ77UnCompWram cmp r6, 0 @@ -7231,7 +7231,7 @@ _08153EB8: bx r0 .align 2, 0 _08153EC8: .4byte gUnknown_8478DA0 -_08153ECC: .4byte gUnknown_8477198 +_08153ECC: .4byte gDodrioBerryStatusGfx _08153ED0: .4byte gUnknown_8478DA8 _08153ED4: .4byte gUnknown_203F43C thumb_func_end sub_8153E28 @@ -7563,7 +7563,7 @@ sub_8154128: @ 8154128 ldr r0, [r0] str r0, [sp, 0x8] str r1, [sp, 0xC] - ldr r0, _08154178 @ =gUnknown_8475968 + ldr r0, _08154178 @ =gDodrioBerrySpritesGfx adds r1, r4, 0 bl LZ77UnCompWram cmp r4, 0 @@ -7586,7 +7586,7 @@ _0815415E: bx r0 .align 2, 0 _08154174: .4byte gUnknown_8478DCC -_08154178: .4byte gUnknown_8475968 +_08154178: .4byte gDodrioBerrySpritesGfx thumb_func_end sub_8154128 thumb_func_start sub_815417C @@ -7971,7 +7971,7 @@ sub_8154438: @ 8154438 ldr r0, [r0] str r0, [sp, 0x20] str r1, [sp, 0x24] - ldr r0, _081544E0 @ =gUnknown_847722C + ldr r0, _081544E0 @ =gDodrioBerryPlatformGfx adds r1, r6, 0 bl LZ77UnCompWram cmp r6, 0 @@ -8034,7 +8034,7 @@ _081544C6: bx r0 .align 2, 0 _081544DC: .4byte gUnknown_8478E18 -_081544E0: .4byte gUnknown_847722C +_081544E0: .4byte gDodrioBerryPlatformGfx _081544E4: .4byte gUnknown_8478E20 _081544E8: .4byte gUnknown_8478E0E _081544EC: .4byte gUnknown_203F3F8 @@ -8777,17 +8777,17 @@ _08154A6E: _08154A80: .4byte gUnknown_203F440 _08154A84: .4byte 0x00003014 _08154A88: - ldr r1, _08154AC0 @ =gUnknown_8478590 + ldr r1, _08154AC0 @ =gDodrioBerryBgTilemap1 movs r0, 0x3 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r1, _08154AC4 @ =gUnknown_8478A4C + ldr r1, _08154AC4 @ =gDodrioBerryBgTilemap2Left movs r0, 0x1 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r1, _08154AC8 @ =gUnknown_84787FC + ldr r1, _08154AC8 @ =gDodrioBerryBgTilemap2Right movs r0, 0x2 movs r2, 0 movs r3, 0 @@ -8800,9 +8800,9 @@ _08154A88: bl CopyBgTilemapBufferToVram b _08154B08 .align 2, 0 -_08154AC0: .4byte gUnknown_8478590 -_08154AC4: .4byte gUnknown_8478A4C -_08154AC8: .4byte gUnknown_84787FC +_08154AC0: .4byte gDodrioBerryBgTilemap1 +_08154AC4: .4byte gDodrioBerryBgTilemap2Left +_08154AC8: .4byte gDodrioBerryBgTilemap2Right _08154ACC: movs r0, 0 bl ShowBg @@ -9215,7 +9215,7 @@ _08154E1C: bcc _08154DF4 _08154E22: movs r5, 0 - ldr r4, _08154F68 @ =gUnknown_841CE1C + ldr r4, _08154F68 @ =gText_SpacePoints cmp r5, r7 bcs _08154E48 add r1, sp, 0x34 @@ -9354,7 +9354,7 @@ _08154EC8: str r4, [sp, 0x4] movs r1, 0 str r1, [sp, 0x8] - ldr r2, _08154F68 @ =gUnknown_841CE1C + ldr r2, _08154F68 @ =gText_SpacePoints lsrs r3, 24 bl AddTextPrinterParameterized adds r0, r5, 0x1 @@ -9373,7 +9373,7 @@ _08154F52: bx r0 .align 2, 0 _08154F64: .4byte gUnknown_8478F14 -_08154F68: .4byte gUnknown_841CE1C +_08154F68: .4byte gText_SpacePoints _08154F6C: .4byte 0x00003009 _08154F70: .4byte gUnknown_203F440 _08154F74: .4byte gUnknown_8478E94 @@ -9488,7 +9488,7 @@ _08155060: ldrb r0, [r0] movs r1, 0x11 bl FillWindowPixelBuffer - ldr r2, _081551B4 @ =gUnknown_841CD03 + ldr r2, _081551B4 @ =gText_BerryPickingResults mov r8, r2 movs r2, 0x1 negs r2, r2 @@ -9516,7 +9516,7 @@ _08155060: ldr r0, [r4] add r0, r9 ldrb r0, [r0] - ldr r2, _081551B8 @ =gUnknown_841CD25 + ldr r2, _081551B8 @ =gText_10P30P50P50P movs r1, 0x10 str r1, [sp] str r6, [sp, 0x4] @@ -9616,7 +9616,7 @@ _0815512E: lsrs r2, 24 mov r1, r8 ldrb r3, [r1] - ldr r1, _081551CC @ =gUnknown_8478E3B + ldr r1, _081551CC @ =gUnknown_8478E38+0x3 str r1, [sp] movs r1, 0x1 negs r1, r1 @@ -9630,13 +9630,13 @@ _0815512E: _081551A8: .4byte gUnknown_203F440 _081551AC: .4byte 0x00003008 _081551B0: .4byte 0x00003009 -_081551B4: .4byte gUnknown_841CD03 -_081551B8: .4byte gUnknown_841CD25 +_081551B4: .4byte gText_BerryPickingResults +_081551B8: .4byte gText_10P30P50P50P _081551BC: .4byte gUnknown_8478EB0 _081551C0: .4byte gUnknown_8478E38 _081551C4: .4byte gUnknown_8478EA8 _081551C8: .4byte 0x0000270f -_081551CC: .4byte gUnknown_8478E3B +_081551CC: .4byte gUnknown_8478E38+0x3 _081551D0: ldr r0, _0815523C @ =gUnknown_203F440 ldr r0, [r0] @@ -9773,7 +9773,7 @@ _081552DC: ldrb r0, [r0] movs r1, 0x11 bl FillWindowPixelBuffer - ldr r6, _0815533C @ =gUnknown_841CD43 + ldr r6, _0815533C @ =gText_AnnouncingRankings movs r2, 0x1 negs r2, r2 movs r0, 0 @@ -9801,7 +9801,7 @@ _081552DC: _08155330: .4byte gUnknown_203F440 _08155334: .4byte 0x00003008 _08155338: .4byte 0x00003009 -_0815533C: .4byte gUnknown_841CD43 +_0815533C: .4byte gText_AnnouncingRankings _08155340: ldr r0, [sp, 0x84] bl sub_8154D9C @@ -9957,7 +9957,7 @@ _08155480: ldrb r0, [r0] movs r1, 0x11 bl FillWindowPixelBuffer - ldr r5, _08155568 @ =gUnknown_841CD58 + ldr r5, _08155568 @ =gText_AnnouncingPrizes movs r2, 0x1 negs r2, r2 movs r0, 0 @@ -9993,7 +9993,7 @@ _08155480: movs r0, 0 adds r1, r5, 0 bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _0815556C @ =gUnknown_841CD7A + ldr r1, _0815556C @ =gText_FirstPlacePrize add r0, sp, 0xC bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, [r4] @@ -10027,7 +10027,7 @@ _08155480: bl DynamicPlaceholderTextUtil_SetPlaceholderPtr cmp r4, 0x2 bne _08155574 - ldr r1, _08155570 @ =gUnknown_841CD9F + ldr r1, _08155570 @ =gText_CantHoldAnyMore add r0, sp, 0xC bl DynamicPlaceholderTextUtil_ExpandPlaceholders b _08155580 @@ -10036,13 +10036,13 @@ _08155558: .4byte 0x00000101 _0815555C: .4byte gUnknown_203F440 _08155560: .4byte 0x00003008 _08155564: .4byte 0x00003009 -_08155568: .4byte gUnknown_841CD58 -_0815556C: .4byte gUnknown_841CD7A -_08155570: .4byte gUnknown_841CD9F +_08155568: .4byte gText_AnnouncingPrizes +_0815556C: .4byte gText_FirstPlacePrize +_08155570: .4byte gText_CantHoldAnyMore _08155574: cmp r6, 0x1 bne _08155580 - ldr r1, _081555C4 @ =gUnknown_841CDBA + ldr r1, _081555C4 @ =gText_FilledStorageSpace add r0, sp, 0xC bl DynamicPlaceholderTextUtil_ExpandPlaceholders _08155580: @@ -10079,7 +10079,7 @@ _0815559E: adds r1, r0 b _0815565E .align 2, 0 -_081555C4: .4byte gUnknown_841CDBA +_081555C4: .4byte gText_FilledStorageSpace _081555C8: .4byte gUnknown_203F440 _081555CC: .4byte 0x00003009 _081555D0: .4byte 0x00003008 @@ -10310,7 +10310,7 @@ _0815579C: ldr r0, [r2] add r0, r8 ldrb r0, [r0] - ldr r2, _08155854 @ =gUnknown_841CDD7 + ldr r2, _08155854 @ =gText_WantToPlayAgain movs r1, 0x6 str r1, [sp] movs r5, 0xFF @@ -10376,7 +10376,7 @@ _0815579C: .align 2, 0 _0815584C: .4byte 0x00003008 _08155850: .4byte 0x00003009 -_08155854: .4byte gUnknown_841CDD7 +_08155854: .4byte gText_WantToPlayAgain _08155858: .4byte gText_Yes _0815585C: .4byte gText_No _08155860: .4byte gFameCheckerText_ListMenuCursor @@ -10789,7 +10789,7 @@ _08155BA4: ldr r0, [r5] adds r0, r4 ldrb r0, [r0] - ldr r2, _08155BE4 @ =gUnknown_841CE24 + ldr r2, _08155BE4 @ =gText_CommunicationStandby3 movs r1, 0x6 str r1, [sp] movs r1, 0xFF @@ -10810,7 +10810,7 @@ _08155BA4: b _08155C0C .align 2, 0 _08155BE0: .4byte 0x00003008 -_08155BE4: .4byte gUnknown_841CE24 +_08155BE4: .4byte gText_CommunicationStandby3 _08155BE8: .4byte 0x00003014 _08155BEC: bl IsDma3ManagerBusyWithBgCopy @@ -10961,7 +10961,7 @@ _08155D08: ldr r0, [r6] adds r0, r4 ldrb r0, [r0] - ldr r2, _08155D48 @ =gUnknown_841CDEB + ldr r2, _08155D48 @ =gText_SomeoneDroppedOut movs r1, 0x6 str r1, [sp] movs r1, 0xFF @@ -10982,7 +10982,7 @@ _08155D08: b _08155D70 .align 2, 0 _08155D44: .4byte 0x00003008 -_08155D48: .4byte gUnknown_841CDEB +_08155D48: .4byte gText_SomeoneDroppedOut _08155D4C: .4byte 0x00003014 _08155D50: bl IsDma3ManagerBusyWithBgCopy @@ -11340,26 +11340,26 @@ _08156008: .4byte _0815605C .4byte _0815606A _08156020: - ldr r0, _0815602C @ =gUnknown_84758A8 + ldr r0, _0815602C @ =gDodrioBerryBgPal1 movs r1, 0 movs r2, 0x40 bl LoadPalette b _08156082 .align 2, 0 -_0815602C: .4byte gUnknown_84758A8 +_0815602C: .4byte gDodrioBerryBgPal1 _08156030: bl ResetTempTileDataBuffers b _08156082 _08156036: - ldr r1, _08156040 @ =gUnknown_8475B3C + ldr r1, _08156040 @ =gDodrioBerryBgGfx1 movs r0, 0 str r0, [sp] movs r0, 0x3 b _0815604C .align 2, 0 -_08156040: .4byte gUnknown_8475B3C +_08156040: .4byte gDodrioBerryBgGfx1 _08156044: - ldr r1, _08156058 @ =gUnknown_84763CC + ldr r1, _08156058 @ =gDodrioBerryBgGfx2 movs r0, 0 str r0, [sp] movs r0, 0x1 @@ -11369,7 +11369,7 @@ _0815604C: bl DecompressAndCopyTileDataToVram b _08156082 .align 2, 0 -_08156058: .4byte gUnknown_84763CC +_08156058: .4byte gDodrioBerryBgGfx2 _0815605C: bl FreeTempTileDataBuffersIfPossible lsls r0, 24 diff --git a/data/data_8471F50.s b/data/data_8479668.s index 8a3a7ae77..8527b4f09 100644 --- a/data/data_8471F50.s +++ b/data/data_8479668.s @@ -14,183 +14,6 @@ .section .rodata .align 2 -gUnknown_8471F50:: @ 8471F50 - .incbin "baserom.gba", 0x471F50, 0x113 - -gUnknown_8472063:: @ 8472063 - .incbin "baserom.gba", 0x472063, 0x4B - -gUnknown_84720AE:: @ 84720AE - .incbin "baserom.gba", 0x4720AE, 0x4E - -gUnknown_84720FC:: @ 84720FC - .incbin "baserom.gba", 0x4720FC, 0x37 - -gUnknown_8472133:: @ 8472133 - .incbin "baserom.gba", 0x472133, 0x3409 - -gUnknown_847553C:: @ 847553C - .incbin "baserom.gba", 0x47553C, 0xC - -gUnknown_8475548:: @ 8475548 - .incbin "baserom.gba", 0x475548, 0x8 - -gUnknown_8475550:: @ 8475550 - .incbin "baserom.gba", 0x475550, 0x8 - -gUnknown_8475558:: @ 8475558 - .incbin "baserom.gba", 0x475558, 0x20 - -gUnknown_8475578:: @ 8475578 - .incbin "baserom.gba", 0x475578, 0x30 - -gUnknown_84755A8:: @ 84755A8 - .incbin "baserom.gba", 0x4755A8, 0x30 - -gUnknown_84755D8:: @ 84755D8 - .incbin "baserom.gba", 0x4755D8, 0x8 - -gUnknown_84755E0:: @ 84755E0 - .incbin "baserom.gba", 0x4755E0, 0x8 - -gUnknown_84755E8:: @ 84755E8 - .incbin "baserom.gba", 0x4755E8, 0x10 - -gUnknown_84755F8:: @ 84755F8 - .incbin "baserom.gba", 0x4755F8, 0x4 - -gUnknown_84755FC:: @ 84755FC - .incbin "baserom.gba", 0x4755FC, 0x6 - -gUnknown_8475602:: @ 8475602 - .incbin "baserom.gba", 0x475602, 0x6 - -gUnknown_8475608:: @ 8475608 - .incbin "baserom.gba", 0x475608, 0x40 - -gUnknown_8475648:: @ 8475648 - .incbin "baserom.gba", 0x475648, 0x14 - -gUnknown_847565C:: @ 847565C - .incbin "baserom.gba", 0x47565C, 0x18 - -gUnknown_8475674:: @ 8475674 - .incbin "baserom.gba", 0x475674, 0x10 - -gUnknown_8475684:: @ 8475684 - .incbin "baserom.gba", 0x475684, 0x8 - -gUnknown_847568C:: @ 847568C - .incbin "baserom.gba", 0x47568C, 0x10 - -gUnknown_847569C:: @ 847569C - .incbin "baserom.gba", 0x47569C, 0x8 - -gUnknown_84756A4:: @ 84756A4 - .incbin "baserom.gba", 0x4756A4, 0x204 - -gUnknown_84758A8:: @ 84758A8 - .incbin "baserom.gba", 0x4758A8, 0xC0 - -gUnknown_8475968:: @ 8475968 - .incbin "baserom.gba", 0x475968, 0x1D4 - -gUnknown_8475B3C:: @ 8475B3C - .incbin "baserom.gba", 0x475B3C, 0x890 - -gUnknown_84763CC:: @ 84763CC - .incbin "baserom.gba", 0x4763CC, 0xDCC - -gUnknown_8477198:: @ 8477198 - .incbin "baserom.gba", 0x477198, 0x94 - -gUnknown_847722C:: @ 847722C - .incbin "baserom.gba", 0x47722C, 0x148 - -gUnknown_8477374:: @ 8477374 - .incbin "baserom.gba", 0x477374, 0x121C - -gUnknown_8478590:: @ 8478590 - .incbin "baserom.gba", 0x478590, 0x26C - -gUnknown_84787FC:: @ 84787FC - .incbin "baserom.gba", 0x4787FC, 0x250 - -gUnknown_8478A4C:: @ 8478A4C - .incbin "baserom.gba", 0x478A4C, 0x24C - -gUnknown_8478C98:: @ 8478C98 - .incbin "baserom.gba", 0x478C98, 0x48 - -gUnknown_8478CE0:: @ 8478CE0 - .incbin "baserom.gba", 0x478CE0, 0xB0 - -gUnknown_8478D90:: @ 8478D90 - .incbin "baserom.gba", 0x478D90, 0x8 - -gUnknown_8478D98:: @ 8478D98 - .incbin "baserom.gba", 0x478D98, 0x8 - -gUnknown_8478DA0:: @ 8478DA0 - .incbin "baserom.gba", 0x478DA0, 0x8 - -gUnknown_8478DA8:: @ 8478DA8 - .incbin "baserom.gba", 0x478DA8, 0x24 - -gUnknown_8478DCC:: @ 8478DCC - .incbin "baserom.gba", 0x478DCC, 0x8 - -gUnknown_8478DD4:: @ 8478DD4 - .incbin "baserom.gba", 0x478DD4, 0x8 - -gUnknown_8478DDC:: @ 8478DDC - .incbin "baserom.gba", 0x478DDC, 0x18 - -gUnknown_8478DF4:: @ 8478DF4 - .incbin "baserom.gba", 0x478DF4, 0x18 - -gUnknown_8478E0C:: @ 8478E0C - .incbin "baserom.gba", 0x478E0C, 0x2 - -gUnknown_8478E0E:: @ 8478E0E - .incbin "baserom.gba", 0x478E0E, 0xA - -gUnknown_8478E18:: @ 8478E18 - .incbin "baserom.gba", 0x478E18, 0x8 - -gUnknown_8478E20:: @ 8478E20 - .incbin "baserom.gba", 0x478E20, 0x18 - -gUnknown_8478E38:: @ 8478E38 - .incbin "baserom.gba", 0x478E38, 0x3 - -gUnknown_8478E3B:: @ 8478E3B - .incbin "baserom.gba", 0x478E3B, 0x45 - -gUnknown_8478E80:: @ 8478E80 - .incbin "baserom.gba", 0x478E80, 0x14 - -gUnknown_8478E94:: @ 8478E94 - .incbin "baserom.gba", 0x478E94, 0x14 - -gUnknown_8478EA8:: @ 8478EA8 - .incbin "baserom.gba", 0x478EA8, 0x8 - -gUnknown_8478EB0:: @ 8478EB0 - .incbin "baserom.gba", 0x478EB0, 0xA - -gUnknown_8478EBA:: @ 8478EBA - .incbin "baserom.gba", 0x478EBA, 0xA - -gUnknown_8478EC4:: @ 8478EC4 - .incbin "baserom.gba", 0x478EC4, 0x50 - -gUnknown_8478F14:: @ 8478F14 - .incbin "baserom.gba", 0x478F14, 0x8 - - .section .rodata.8479668 - - .align 2 gUnknown_8479668:: @ 8479668 .incbin "graphics/misc/unk_8479688.gbapal" diff --git a/data/strings.s b/data/strings.s index ac7241354..27481f0a0 100644 --- a/data/strings.s +++ b/data/strings.s @@ -3351,58 +3351,67 @@ gUnknown_841CC64:: @ 841CC64 .string "SAVING...\n" .string "DON'T TURN OFF THE POWER.$" +gText_BerryPickingRecords:: .string "DODRIO BERRY-PICKING RECORDS$" +gText_BerriesPicked:: .string "BERRIES picked:$" +gText_BestScore:: .string "Best score:$" +gText_BerriesInRowFivePlayers:: .string "BERRIES picked in a row with\n" .string "five players:$" -gUnknown_841CD03:: @ 841CD03 +gText_BerryPickingResults:: @ 841CD03 .string "Announcing BERRY-PICKING results!$" -gUnknown_841CD25:: @ 841CD25 +gText_10P30P50P50P:: @ 841CD25 .string "10P 30P 50P {EXTRA 0xDD}50P$" -gUnknown_841CD43:: @ 841CD43 +gText_AnnouncingRankings:: @ 841CD43 .string "Announcing rankings!$" -gUnknown_841CD58:: @ 841CD58 +gText_AnnouncingPrizes:: @ 841CD58 .string "Announcing prizes!$" +gText_1Colon:: .string "1:$" +gText_2Colon:: .string "2:$" +gText_3Colon:: .string "3:$" +gText_4Colon:: .string "4:$" +gText_5Colon:: .string "5:$" -gUnknown_841CD7A:: @ 841CD7A +gText_FirstPlacePrize:: @ 841CD7A .string "The first-place winner gets\n" .string "this {DYNAMIC 00}!$" -gUnknown_841CD9F:: @ 841CD9F +gText_CantHoldAnyMore:: @ 841CD9F .string "You can't hold any more...$" -gUnknown_841CDBA:: @ 841CDBA +gText_FilledStorageSpace:: @ 841CDBA .string "It filled its storage space.$" -gUnknown_841CDD7:: @ 841CDD7 +gText_WantToPlayAgain:: @ 841CDD7 .string "Want to play again?$" -gUnknown_841CDEB:: @ 841CDEB +gText_SomeoneDroppedOut:: @ 841CDEB .string "Somebody dropped out.\n" .string "The link will be canceled.$" -gUnknown_841CE1C:: @ 841CE1C +gText_SpacePoints:: @ 841CE1C .string " points$" -gUnknown_841CE24:: @ 841CE24 +gText_CommunicationStandby3:: @ 841CE24 .string "Communication standby…$" .align 2 diff --git a/graphics/link_games/dodrioberry_berrysprites.png b/graphics/link_games/dodrioberry_berrysprites.png Binary files differnew file mode 100644 index 000000000..81d3a6f97 --- /dev/null +++ b/graphics/link_games/dodrioberry_berrysprites.png diff --git a/graphics/link_games/dodrioberry_bg1.bin b/graphics/link_games/dodrioberry_bg1.bin Binary files differnew file mode 100644 index 000000000..8547f63fb --- /dev/null +++ b/graphics/link_games/dodrioberry_bg1.bin diff --git a/graphics/link_games/dodrioberry_bg1.pal b/graphics/link_games/dodrioberry_bg1.pal new file mode 100644 index 000000000..c06550002 --- /dev/null +++ b/graphics/link_games/dodrioberry_bg1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 246 255 +82 180 172 +82 205 189 +156 156 131 +106 156 148 +123 123 98 +189 172 98 +189 189 139 +74 172 156 +172 172 131 +74 156 123 +115 115 82 +139 139 106 +164 164 115 +197 197 148 +230 246 255 diff --git a/graphics/link_games/dodrioberry_bg1.png b/graphics/link_games/dodrioberry_bg1.png Binary files differnew file mode 100644 index 000000000..7079e8094 --- /dev/null +++ b/graphics/link_games/dodrioberry_bg1.png diff --git a/graphics/link_games/dodrioberry_bg2.pal b/graphics/link_games/dodrioberry_bg2.pal new file mode 100644 index 000000000..be2b62cc9 --- /dev/null +++ b/graphics/link_games/dodrioberry_bg2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 246 255 +246 246 222 +230 230 180 +139 238 139 +246 246 189 +197 246 164 +246 230 197 +230 246 255 +230 213 180 +205 197 164 +148 222 148 +222 238 255 +139 205 139 +213 238 246 +222 246 255 +213 205 164 diff --git a/graphics/link_games/dodrioberry_bg2.png b/graphics/link_games/dodrioberry_bg2.png Binary files differnew file mode 100644 index 000000000..ee343dd13 --- /dev/null +++ b/graphics/link_games/dodrioberry_bg2.png diff --git a/graphics/link_games/dodrioberry_bg2left.bin b/graphics/link_games/dodrioberry_bg2left.bin Binary files differnew file mode 100644 index 000000000..73e83c6dd --- /dev/null +++ b/graphics/link_games/dodrioberry_bg2left.bin diff --git a/graphics/link_games/dodrioberry_bg2right.bin b/graphics/link_games/dodrioberry_bg2right.bin Binary files differnew file mode 100644 index 000000000..a93db06df --- /dev/null +++ b/graphics/link_games/dodrioberry_bg2right.bin diff --git a/graphics/link_games/dodrioberry_pkmn.png b/graphics/link_games/dodrioberry_pkmn.png Binary files differnew file mode 100644 index 000000000..41ecd921d --- /dev/null +++ b/graphics/link_games/dodrioberry_pkmn.png diff --git a/graphics/link_games/dodrioberry_platform.png b/graphics/link_games/dodrioberry_platform.png Binary files differnew file mode 100644 index 000000000..9074ec740 --- /dev/null +++ b/graphics/link_games/dodrioberry_platform.png diff --git a/graphics/link_games/dodrioberry_shiny.pal b/graphics/link_games/dodrioberry_shiny.pal new file mode 100644 index 000000000..5d8b5b7a5 --- /dev/null +++ b/graphics/link_games/dodrioberry_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +238 255 238 +41 41 41 +213 222 90 +172 180 49 +90 98 16 +246 131 164 +197 82 82 +255 255 156 +255 205 98 +139 106 16 +148 148 148 +82 82 82 +255 205 230 +131 139 16 +0 0 0 +255 255 255 diff --git a/graphics/link_games/dodrioberry_status.png b/graphics/link_games/dodrioberry_status.png Binary files differnew file mode 100644 index 000000000..e48d499f0 --- /dev/null +++ b/graphics/link_games/dodrioberry_status.png diff --git a/include/strings.h b/include/strings.h index e55cb02f5..a4c550a51 100644 --- a/include/strings.h +++ b/include/strings.h @@ -589,6 +589,28 @@ extern const u8 gText_HaventReceivedGiftOkayToDiscard[]; extern const u8 gText_SendingWonderCard[]; extern const u8 gText_SendingWonderNews[]; +// Dodrio Berry Picking +extern const u8 gText_BerryPickingRecords[]; +extern const u8 gText_BerriesPicked[]; +extern const u8 gText_BerriesInRowFivePlayers[]; +extern const u8 gText_BestScore[]; +extern const u8 gText_1Colon[]; +extern const u8 gText_2Colon[]; +extern const u8 gText_3Colon[]; +extern const u8 gText_4Colon[]; +extern const u8 gText_5Colon[]; +extern const u8 gText_SpacePoints[]; +extern const u8 gText_10P30P50P50P[]; +extern const u8 gText_AnnouncingPrizes[]; +extern const u8 gText_AnnouncingRankings[]; +extern const u8 gText_FirstPlacePrize[]; +extern const u8 gText_CantHoldAnyMore[]; +extern const u8 gText_FilledStorageSpace[]; +extern const u8 gText_BerryPickingResults[]; +extern const u8 gText_WantToPlayAgain[]; +extern const u8 gText_CommunicationStandby3[]; +extern const u8 gText_SomeoneDroppedOut[]; + // player_pc extern const u8 gText_WhatWouldYouLikeToDo[]; extern const u8 gText_TakeOutItemsFromThePC[]; diff --git a/ld_script.txt b/ld_script.txt index 6b8c45d96..793c9466b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -552,18 +552,18 @@ SECTIONS { src/text_window_graphics.o(.rodata); src/quest_log_8150454.o(.rodata); data/berry_powder.o(.rodata); - data/data_8471F50.o(.rodata); + src/dodrio_berry_picking.o(.rodata); src/battle_controller_pokedude.o(.rodata); src/teachy_tv.o(.rodata); src/unk_815C980.o(.rodata); - data/data_8471F50.o(.rodata.8479668); + data/data_8479668.o(.rodata); src/ss_anne.o(.rodata); src/cereader_tool.o(.rodata); src/renewable_hidden_items.o(.rodata); src/trainer_tower.o(.rodata); src/unk_815F138.o(.rodata); src/berry_fix_program.o(.rodata); - data/data_8471F50.o(.rodata.after_trainer_tower); + data/data_8479668.o(.rodata.after_trainer_tower); /* These should not be moved to C files */ src/mystery_event_msg.o(.rodata); diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c new file mode 100644 index 000000000..35e8ceed7 --- /dev/null +++ b/src/dodrio_berry_picking.c @@ -0,0 +1,748 @@ +#include "global.h" +#include "bg.h" +#include "strings.h" +#include "window.h" + +/*static*/ void sub_8150C78(void); +/*static*/ void sub_8150CBC(void); +/*static*/ void sub_8150CF4(void); +/*static*/ void sub_8150D7C(void); +/*static*/ void sub_8150DA4(void); +/*static*/ void sub_8150FDC(void); +/*static*/ void sub_8151198(void); +/*static*/ void sub_81512B4(void); +/*static*/ void sub_8151488(void); +/*static*/ void sub_81514F0(void); +/*static*/ void sub_815159C(void); +/*static*/ void sub_8150F40(void); +/*static*/ void sub_8150E68(void); +/*static*/ void sub_815109C(void); +/*static*/ void sub_8150FC4(void); +/*static*/ void nullsub_97(struct Sprite *sprite); +/*static*/ void sub_81543E8(struct Sprite *sprite); +/*static*/ void sub_8154A2C(void); +/*static*/ void sub_8154B34(void); +/*static*/ void sub_8154F80(void); +/*static*/ void sub_81556E0(void); +/*static*/ void sub_8155A78(void); +/*static*/ void sub_8155B4C(void); +/*static*/ void sub_8155C2C(void); +/*static*/ void sub_8155C80(void); +/*static*/ void unused_0(void); +/*static*/ void nullsub_98(void); + +// const rom data +/*static*/ const u8 gUnknown_8471F50[5][5][11] = +{ + { + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, + }, + { + {0, 1, 2, 3, 4, 5, 6, 3, 8, 9, 0}, + {0, 1, 2, 5, 6, 3, 4, 5, 8, 9, 0}, + }, + { + {0, 1, 2, 3, 4, 5, 6, 7, 2, 9, 0}, + {0, 1, 4, 5, 6, 7, 2, 3, 4, 9, 0}, + {0, 1, 6, 7, 2, 3, 4, 5, 6, 9, 0}, + }, + { + {0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0}, + {0, 3, 4, 5, 6, 7, 8, 1, 2, 3, 0}, + {0, 5, 6, 7, 8, 1, 2, 3, 4, 5, 0}, + {0, 7, 8, 1, 2, 3, 4, 5, 6, 7, 0}, + }, + { + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, + {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2}, + {4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4}, + {6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}, + {8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8}, + }, +}; + +/*static*/ const u8 gUnknown_8472063[5][5][3] = +{ + { + {4, 5, 6}, + }, + { + {3, 4, 5}, + {5, 6, 3}, + }, + { + {4, 5, 6}, + {6, 7, 2}, + {2, 3, 4}, + }, + { + {3, 4, 5}, + {5, 6, 7}, + {7, 8, 1}, + {1, 2, 3}, + }, + { + {4, 5, 6}, + {6, 7, 8}, + {8, 9, 0}, + {0, 1, 2}, + {2, 3, 4}, + }, +}; + +/*static*/ const u8 gUnknown_84720AE[5][5][3] = +{ + { + {1, 0, 1}, + }, + { + {1, 0, 1}, + {0, 1, 0}, + }, + { + {2, 0, 1}, + {0, 1, 2}, + {1, 2, 0}, + }, + { + {3, 0, 1}, + {0, 1, 2}, + {1, 2, 3}, + {2, 3, 0}, + }, + { + {4, 0, 1}, + {0, 1, 2}, + {1, 2, 3}, + {2, 3, 4}, + {3, 4, 0}, + }, +}; + +ALIGNED(4) +/*static*/ const u8 gUnknown_84720FC[5][11] = +{ + {9, 9, 9, 9, 1, 1, 1, 9, 9, 9, 9}, + {9, 9, 9, 0, 0, 1, 1, 0, 9, 9, 9}, + {9, 9, 2, 2, 0, 0, 1, 1, 1, 9, 9}, + {9, 3, 3, 0, 0, 1, 1, 2, 2, 3, 9}, + {3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3}, +}; + +/*static*/ const u8 gUnknown_8472133[5][5] = +{ + {5}, + {4, 6}, + {3, 5, 7}, + {2, 4, 6, 8}, + {1, 3, 5, 6, 9}, +}; + +// Duplicate and unused gfx. Feel free to remove. +/*static*/ const u32 sDuplicateGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.gbapal", + "graphics/link_games/dodrioberry_bg2.gbapal", + "graphics/link_games/dodrioberry_pkmn.gbapal", + "graphics/link_games/dodrioberry_shiny.gbapal", + "graphics/link_games/dodrioberry_status.gbapal", + "graphics/link_games/dodrioberry_berrysprites.gbapal", + "graphics/link_games/dodrioberry_berrysprites.4bpp.lz", + "graphics/link_games/dodrioberry_platform.gbapal", + "graphics/link_games/dodrioberry_bg1.4bpp.lz", + "graphics/link_games/dodrioberry_bg2.4bpp.lz", + "graphics/link_games/dodrioberry_status.4bpp.lz", + "graphics/link_games/dodrioberry_platform.4bpp.lz", + "graphics/link_games/dodrioberry_pkmn.4bpp.lz", + "graphics/link_games/dodrioberry_bg1.bin.lz", + "graphics/link_games/dodrioberry_bg2right.bin.lz", + "graphics/link_games/dodrioberry_bg2left.bin.lz"); + +/*static*/ const u8 gUnknown_847553C[][3] = +{ + {40, 24, 13}, + {32, 19, 10}, + {22, 13, 7}, +}; + +ALIGNED(4) +/*static*/ const u8 gUnknown_8475548[] = {8, 5, 8, 11, 15}; + +ALIGNED(4) +/*static*/ const u8 gUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100}; + +ALIGNED(4) +/*static*/ const u8 gUnknown_8475558[][10] = +{ + {15, 16, 17, 18, 19, 19, 18, 17, 16, 15}, + {20, 21, 22, 23, 24, 25, 26, 27, 28, 29}, + {30, 31, 32, 33, 34, 34, 33, 32, 31, 30}, +}; + +/*static*/ void (*const gUnknown_8475578[])(void) = +{ + sub_8150C78, + sub_8150CBC, + sub_8150CF4, + sub_8150D7C, + sub_8150DA4, + sub_8150FDC, + sub_8151198, + sub_81512B4, + sub_8151488, + sub_81514F0, + sub_815159C, + sub_8150F40 +}; + +/*static*/ void (*const gUnknown_84755A8[])(void) = +{ + sub_8150C78, + sub_8150CBC, + sub_8150CF4, + sub_8150D7C, + sub_8150E68, + sub_815109C, + sub_8151198, + sub_81512B4, + sub_8151488, + sub_81514F0, + sub_815159C, + sub_8150FC4 +}; + +/*static*/ const s16 gUnknown_84755D8[] = {10, 30, 50, 50}; + +// Data related to printing saved results. +/*static*/ const struct WindowTemplate gUnknown_84755E0 = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 11, + .paletteNum = 15, + .baseBlock = 1, +}; + +/*static*/ const u8 *const gUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers}; +/*static*/ const u8 gUnknown_84755F8[] = {4, 7, 4}; + +ALIGNED(4) +/*static*/ const u8 gUnknown_84755FC[][2] = {{24}, {40}, {56}}; +/*static*/ const u8 gUnknown_8475602[][2] = {{24}, {40}, {70}}; + +// Debug functions? +/*static*/ const u16 gUnknown_8475608[][4] = +{ + {9999, 0, 90, 9999}, + {9999, 9999, 70, 9999}, + {9999, 0, 9999, 0}, + {9999, 9999, 60, 0}, + {9999, 9999, 9999, 0}, +}; + +/*static*/ const u8 gUnknown_8475630[] = _("あいうえおかき"); +/*static*/ const u8 gUnknown_8475638[] = _("ABCDEFG"); +/*static*/ const u8 gUnknown_8475640[] = _("0123456"); + +/*static*/ const u8 *const gUnknown_8475648[] = +{ + gUnknown_8475630, + gUnknown_8475630, + gUnknown_8475630, + gUnknown_8475638, + gUnknown_8475640 +}; + +// Large chunk of data +/*static*/ const struct BgTemplate gUnknown_847565C[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 12, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 14, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +// Unknown unreferenced data, feel free to remove. +/*static*/ const u32 sUnused[] = {255, 0}; + +/*static*/ const struct WindowTemplate gUnknown_8475674[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 3, + .paletteNum = 13, + .baseBlock = 0x13, + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 6, + .width = 28, + .height = 13, + .paletteNum = 13, + .baseBlock = 0x67, + } +}; + +/*static*/ const struct WindowTemplate gUnknown_8475684 = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 6, + .width = 28, + .height = 7, + .paletteNum = 13, + .baseBlock = 0x67, +}; + +/*static*/ const struct WindowTemplate gUnknown_847568C[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 19, + .height = 3, + .paletteNum = 13, + .baseBlock = 0x13, + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 7, + .width = 6, + .height = 4, + .paletteNum = 13, + .baseBlock = 0x4C, + } +}; + +/*static*/ const struct WindowTemplate gUnknown_847569C = +{ + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 6, + .width = 22, + .height = 5, + .paletteNum = 13, + .baseBlock = 0x13, +}; + +/*static*/ const struct WindowTemplate gUnknown_84756A4 = +{ + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 8, + .width = 19, + .height = 3, + .paletteNum = 13, + .baseBlock = 0x13, +}; + +// This is an unused copy of the tables from the top of the file. Feel free to remove. +/*static*/ const u8 sDuplicateArray[] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 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, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 3, 8, 9, 0, 0, 1, 2, 5, 6, 3, 4, 5, 8, 9, 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, 1, 2, 3, 4, 5, 6, 7, 2, 9, + 0, 0, 1, 4, 5, 6, 7, 2, 3, 4, 9, 0, 0, 1, 6, 7, 2, 3, 4, 5, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0, 0, 3, 4, 5, 6, 7, 8, 1, 2, 3, 0, 0, 5, 6, 7, 8, 1, 2, 3, 4, 5, 0, 0, 7, + 8, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0, + 1, 2, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 5, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 6, 7, 2, 2, 3, 4, 0, 0, 0, 0, 0, 0, + 3, 4, 5, 5, 6, 7, 7, 8, 1, 1, 2, 3, 0, 0, 0, 4, 5, 6, 6, 7, 8, 8, 9, 0, 0, 1, 2, 2, 3, 4, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 1, + 2, 1, 2, 3, 2, 3, 0, 0, 0, 0, 4, 0, 1, 0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 0, 0, 0, 0, 9, 9, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9, + 9, 9, 0, 0, 1, 1, 0, 9, 9, 9, 9, 9, 2, 2, 0, 0, 1, 1, 1, 9, 9, 9, 3, 3, 0, 0, 1, 1, 2, 2, 3, 9, 3, 3, 4, 4, 0, 0, 1, 1, + 2, 2, 3, 5, 0, 0, 0, 0, 4, 6, 0, 0, 0, 3, 5, 7, 0, 0, 2, 4, 6, 8, 0, 1, 3, 5, 6, 9 +}; + +/*static*/ const u16 gDodrioBerryBgPal1[] = INCBIN_U16("graphics/link_games/dodrioberry_bg1.gbapal", + "graphics/link_games/dodrioberry_bg2.gbapal"); +/*static*/ const u16 gDodrioBerryPkmnPal[] = INCBIN_U16("graphics/link_games/dodrioberry_pkmn.gbapal"); +/*static*/ const u16 gDodrioBerryShinyPal[] = INCBIN_U16("graphics/link_games/dodrioberry_shiny.gbapal"); +/*static*/ const u16 gDodrioBerryStatusPal[] = INCBIN_U16("graphics/link_games/dodrioberry_status.gbapal"); +/*static*/ const u16 gDodrioBerrySpritesPal[] = INCBIN_U16("graphics/link_games/dodrioberry_berrysprites.gbapal"); +/*static*/ const u32 gDodrioBerrySpritesGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_berrysprites.4bpp.lz"); +/*static*/ const u16 gDodrioBerryPlatformPal[] = INCBIN_U16("graphics/link_games/dodrioberry_platform.gbapal"); +/*static*/ const u32 gDodrioBerryBgGfx1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.4bpp.lz"); +/*static*/ const u32 gDodrioBerryBgGfx2[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2.4bpp.lz"); +/*static*/ const u32 gDodrioBerryStatusGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_status.4bpp.lz"); +/*static*/ const u32 gDodrioBerryPlatformGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_platform.4bpp.lz"); +/*static*/ const u32 gDodrioBerryPkmnGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_pkmn.4bpp.lz"); +/*static*/ const u32 gDodrioBerryBgTilemap1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.bin.lz"); +/*static*/ const u32 gDodrioBerryBgTilemap2Right[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2right.bin.lz"); +/*static*/ const u32 gDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2left.bin.lz"); + +/*static*/ const struct OamData sOamData_8478C98 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CA0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CA8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CB0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CB8[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CC0[] = +{ + ANIMCMD_FRAME(64, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CC8[] = +{ + ANIMCMD_FRAME(128, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CD0[] = +{ + ANIMCMD_FRAME(192, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CD8[] = +{ + ANIMCMD_FRAME(256, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd *const sSpriteAnimTable_8478CE0[] = +{ + sSpriteAnim_8478CB8, + sSpriteAnim_8478CC0, + sSpriteAnim_8478CC8, + sSpriteAnim_8478CD0, + sSpriteAnim_8478CD8 +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CF4[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478CFC[] = +{ + ANIMCMD_FRAME(4, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D04[] = +{ + ANIMCMD_FRAME(8, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D0C[] = +{ + sSpriteAnim_8478CF4, + sSpriteAnim_8478CFC, + sSpriteAnim_8478D04 +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D18[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D20[] = +{ + ANIMCMD_FRAME(4, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D28[] = +{ + ANIMCMD_FRAME(8, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D30[] = +{ + ANIMCMD_FRAME(12, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D38[] = +{ + ANIMCMD_FRAME(16, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D40[] = +{ + ANIMCMD_FRAME(20, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D48[] = +{ + ANIMCMD_FRAME(24, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D50[] = +{ + ANIMCMD_FRAME(28, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D58[] = +{ + ANIMCMD_FRAME(32, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D60[] = +{ + sSpriteAnim_8478D18, + sSpriteAnim_8478D20, + sSpriteAnim_8478D28, + sSpriteAnim_8478D30, + sSpriteAnim_8478D38, + sSpriteAnim_8478D40, + sSpriteAnim_8478D48, + sSpriteAnim_8478D50, + sSpriteAnim_8478D58 +}; + +/*static*/ const union AnimCmd sSpriteAnim_8478D84[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_JUMP(0) +}; + +/*static*/ const union AnimCmd *const sSpriteAnimTable_8478D8C[] = +{ + sSpriteAnim_8478D84 +}; + +// These are declared inside pokeemerald's sub_80283A8 +const struct SpritePalette gUnknown_8478D90 = {gDodrioBerryPkmnPal, 0}; +const struct SpritePalette gUnknown_8478D98 = {gDodrioBerryShinyPal, 1}; + +// These are declared inside pokeemerald's sub_8028734 +const struct SpritePalette gUnknown_8478DA0 = {gDodrioBerryStatusPal, 2}; +const struct SpriteTemplate gUnknown_8478DA8 = + { + .tileTag = 1, + .paletteTag = 2, + .oam = &sOamData_8478CA0, + .anims = sSpriteAnimTable_8478D0C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_97, + }; + +// Unknown unused data, feel free to remove. +/*static*/ const u8 sUnused2[] = {0xCD, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0xF4, 0x0, 0x0}; + +// This is declared inside pokeemerald's sub_8028A34 +const struct SpritePalette gUnknown_8478DCC = {gDodrioBerrySpritesPal, 3}; + +/*static*/ const s16 gUnknown_8478DD4[] = {88, 128, 168, 208}; + +// These are declared inside pokeemerald's sub_8028A88 +const struct SpriteTemplate gUnknown_8478DDC = + { + .tileTag = 2, + .paletteTag = 3, + .oam = &sOamData_8478CA8, + .anims = sSpriteAnimTable_8478D60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; +const struct SpriteTemplate gUnknown_8478DF4 = + { + .tileTag = 2, + .paletteTag = 3, + .oam = &sOamData_8478CA0, + .anims = sSpriteAnimTable_8478D60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; + +// This is declared inside pokeemerald's sub_8028CF4 +/*static*/ const u8 gUnknown_8478E0C[] = {30, 20}; + +/*static*/ const s16 gUnknown_8478E0E[][2] = {{230, 55}, {30, 74}}; + +// These are declared inside pokeemerald's sub_8028D44 +const struct SpritePalette gUnknown_8478E18 = {gDodrioBerryPlatformPal, 6}; +const struct SpriteTemplate gUnknown_8478E20 = + { + .tileTag = 5, + .paletteTag = 6, + .oam = &sOamData_8478CB0, + .anims = sSpriteAnimTable_8478D8C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81543E8, + }; + +struct WinCoords +{ + u8 left; + u8 top; +}; + +/*static*/ const u8 gUnknown_8478E38[][3] = +{ + {1, 2, 3}, + {1, 4, 5}, + {1, 8, 9}, + {1, 6, 7}, +}; + +/*static*/ const struct WinCoords gUnknown_8478E44[] = {{12, 6}}; +/*static*/ const struct WinCoords gUnknown_8478E48[] = {{9, 10}, {15, 6}}; +/*static*/ const struct WinCoords gUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}}; +/*static*/ const struct WinCoords gUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}}; +/*static*/ const struct WinCoords gUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}}; + +/*static*/ const struct WinCoords *const gUnknown_8478E80[] = +{ + gUnknown_8478E44, + gUnknown_8478E48, + gUnknown_8478E50, + gUnknown_8478E5C, + gUnknown_8478E6C, +}; + +/*static*/ const u8 *const gUnknown_8478E94[] = +{ + gText_1Colon, + gText_2Colon, + gText_3Colon, + gText_4Colon, + gText_5Colon, +}; + +/*static*/ const u16 gUnknown_8478EA8[] = {92, 132, 172, 212}; +/*static*/ const u16 gUnknown_8478EB0[] = {30, 45, 60, 75, 90}; +/*static*/ const u16 gUnknown_8478EBA[] = {12, 28, 44, 60, 76}; + +struct +{ + u8 id; + void (*func)(void); +} const gUnknown_8478EC4[] = +{ + {0, sub_8154A2C}, + {1, sub_8154B34}, + {2, sub_8154F80}, + {3, sub_81556E0}, + {4, sub_8155A78}, + {5, sub_8155B4C}, + {6, sub_8155C2C}, + {7, sub_8155C80}, + {8, unused_0}, + {9, nullsub_98}, +}; + +// This is declared inside pokeemerald's sub_80296A8 +const u8 gUnknown_8478F14[5] = {0, 1, 2, 3, 4}; |