diff options
20 files changed, 1015 insertions, 322 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index ceccf74ff..9928f14b4 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -503,7 +503,7 @@ _08150C04: .4byte sub_81516DC sub_8150C08: @ 8150C08 push {lr} bl sub_8151B54 - ldr r1, _08150C34 @ =gUnknown_8475578 + ldr r1, _08150C34 @ =sUnknown_8475578 ldr r0, _08150C38 @ =gUnknown_203F3E0 ldr r0, [r0] ldrb r0, [r0, 0x18] @@ -521,7 +521,7 @@ _08150C2C: pop {r0} bx r0 .align 2, 0 -_08150C34: .4byte gUnknown_8475578 +_08150C34: .4byte sUnknown_8475578 _08150C38: .4byte gUnknown_203F3E0 _08150C3C: .4byte gUnknown_3002044 thumb_func_end sub_8150C08 @@ -530,7 +530,7 @@ _08150C3C: .4byte gUnknown_3002044 sub_8150C40: @ 8150C40 push {lr} bl sub_8151C5C - ldr r1, _08150C6C @ =gUnknown_84755A8 + ldr r1, _08150C6C @ =sUnknown_84755A8 ldr r0, _08150C70 @ =gUnknown_203F3E0 ldr r0, [r0] ldrb r0, [r0, 0x18] @@ -548,7 +548,7 @@ _08150C64: pop {r0} bx r0 .align 2, 0 -_08150C6C: .4byte gUnknown_84755A8 +_08150C6C: .4byte sUnknown_84755A8 _08150C70: .4byte gUnknown_203F3E0 _08150C74: .4byte gUnknown_3002044 thumb_func_end sub_8150C40 @@ -3172,7 +3172,7 @@ sub_81520B4: @ 81520B4 ands r0, r1 cmp r0, 0 bne _08152108 - ldr r1, _081520EC @ =gUnknown_8475548 + ldr r1, _081520EC @ =sUnknown_8475548 adds r0, r3, 0 adds r0, 0x24 ldrb r0, [r0] @@ -3185,7 +3185,7 @@ sub_81520B4: @ 81520B4 b _0815210A .align 2, 0 _081520E8: .4byte gUnknown_203F3E0 -_081520EC: .4byte gUnknown_8475548 +_081520EC: .4byte sUnknown_8475548 _081520F0: lsls r4, r2, 3 adds r1, r4, 0 @@ -3321,7 +3321,7 @@ _081521B0: bcs _08152284 adds r7, r3, 0 _081521E6: - ldr r0, _08152250 @ =gUnknown_8471F50 + ldr r0, _08152250 @ =sUnknown_8471F50 add r0, r10 ldrb r5, [r0] ldr r1, [r7] @@ -3372,7 +3372,7 @@ _0815221E: .align 2, 0 _08152248: .4byte gUnknown_203F3E0 _0815224C: .4byte 0x000031cc -_08152250: .4byte gUnknown_8471F50 +_08152250: .4byte sUnknown_8471F50 _08152254: adds r0, r2, 0x1 lsls r0, 24 @@ -3418,7 +3418,7 @@ _0815229C: mov r9, r1 _081522A0: movs r6, 0xFF - ldr r0, _0815235C @ =gUnknown_8471F50 + ldr r0, _0815235C @ =sUnknown_8471F50 add r0, r10 ldrb r5, [r0] mov r2, r9 @@ -3448,7 +3448,7 @@ _081522B8: bls _081522DE movs r3, 0x2 _081522DE: - ldr r2, _08152360 @ =gUnknown_847553C + ldr r2, _08152360 @ =sUnknown_847553C ldr r0, _08152364 @ =0x000031b4 adds r1, r4, r0 adds r1, r5 @@ -3512,8 +3512,8 @@ _08152350: .align 2, 0 _08152354: .4byte 0x000031d4 _08152358: .4byte gUnknown_203F3E0 -_0815235C: .4byte gUnknown_8471F50 -_08152360: .4byte gUnknown_847553C +_0815235C: .4byte sUnknown_8471F50 +_08152360: .4byte sUnknown_847553C _08152364: .4byte 0x000031b4 _08152368: adds r0, r3, 0 @@ -3704,7 +3704,7 @@ _081524C6: lsrs r0, 24 cmp r0, 0x1 bhi _08152524 - ldr r0, _08152518 @ =gUnknown_8472063 + ldr r0, _08152518 @ =sUnknown_8472063 lsls r1, r4, 1 adds r1, r4 adds r1, r7, r1 @@ -3736,13 +3736,13 @@ _081524C6: strb r1, [r0] b _0815255A .align 2, 0 -_08152518: .4byte gUnknown_8472063 +_08152518: .4byte sUnknown_8472063 _0815251C: .4byte 0x000031d4 _08152520: movs r0, 0x1 b _0815255C _08152524: - ldr r0, _08152564 @ =gUnknown_8472063 + ldr r0, _08152564 @ =sUnknown_8472063 lsls r1, r4, 1 adds r1, r4 adds r1, r7, r1 @@ -3776,7 +3776,7 @@ _0815255C: pop {r1} bx r1 .align 2, 0 -_08152564: .4byte gUnknown_8472063 +_08152564: .4byte sUnknown_8472063 _08152568: .4byte 0x000031d4 thumb_func_end sub_8152484 @@ -3914,7 +3914,7 @@ _0815264C: bls _08152672 movs r3, 0x2 _08152672: - ldr r2, _081526B4 @ =gUnknown_847553C + ldr r2, _081526B4 @ =sUnknown_847553C ldr r0, _081526B8 @ =0x000032e0 adds r1, r4, r0 adds r1, r5 @@ -3947,7 +3947,7 @@ _081526AC: bl sub_8152174 b _081527AC .align 2, 0 -_081526B4: .4byte gUnknown_847553C +_081526B4: .4byte sUnknown_847553C _081526B8: .4byte 0x000032e0 _081526BC: cmp r0, 0x2 @@ -4101,7 +4101,7 @@ sub_81527D0: @ 81527D0 ldrb r6, [r1] cmp r6, r8 bcs _081528C2 - ldr r0, _0815283C @ =gUnknown_8471F50 + ldr r0, _0815283C @ =sUnknown_8471F50 mov r9, r0 _081527F0: ldr r0, _08152838 @ =gUnknown_203F3E0 @@ -4141,7 +4141,7 @@ _081527F0: b _0815284C .align 2, 0 _08152838: .4byte gUnknown_203F3E0 -_0815283C: .4byte gUnknown_8471F50 +_0815283C: .4byte sUnknown_8471F50 _08152840: .4byte 0x000031a0 _08152844: adds r0, r6, 0 @@ -4548,7 +4548,7 @@ sub_8152AD8: @ 8152AD8 lsls r1, r3, 4 subs r1, r3 lsls r1, 2 - ldr r6, _08152B54 @ =gUnknown_8471F50 + ldr r6, _08152B54 @ =sUnknown_8471F50 subs r0, 0x4 ldrb r2, [r0] subs r2, 0x1 @@ -4580,7 +4580,7 @@ _08152B4C: b _08152B5E .align 2, 0 _08152B50: .4byte gUnknown_203F3E0 -_08152B54: .4byte gUnknown_8471F50 +_08152B54: .4byte sUnknown_8471F50 _08152B58: .4byte 0x000031bf _08152B5C: movs r0, 0 @@ -4599,7 +4599,7 @@ sub_8152B64: @ 8152B64 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, _08152BCC @ =gUnknown_8475550 + ldr r0, _08152BCC @ =sUnknown_8475550 mov r8, r0 ldr r0, _08152BD0 @ =gUnknown_203F3E0 ldr r6, [r0] @@ -4643,7 +4643,7 @@ _08152BBE: pop {r0} bx r0 .align 2, 0 -_08152BCC: .4byte gUnknown_8475550 +_08152BCC: .4byte sUnknown_8475550 _08152BD0: .4byte gUnknown_203F3E0 thumb_func_end sub_8152B64 @@ -4651,7 +4651,7 @@ _08152BD0: .4byte gUnknown_203F3E0 sub_8152BD4: @ 8152BD4 lsls r0, 24 lsrs r0, 24 - ldr r3, _08152BF0 @ =gUnknown_84720FC + ldr r3, _08152BF0 @ =sUnknown_84720FC ldr r1, _08152BF4 @ =gUnknown_203F3E0 ldr r1, [r1] adds r1, 0x24 @@ -4664,7 +4664,7 @@ sub_8152BD4: @ 8152BD4 ldrb r0, [r0] bx lr .align 2, 0 -_08152BF0: .4byte gUnknown_84720FC +_08152BF0: .4byte sUnknown_84720FC _08152BF4: .4byte gUnknown_203F3E0 thumb_func_end sub_8152BD4 @@ -4684,7 +4684,7 @@ sub_8152BF8: @ 8152BF8 subs r2, 0x1 lsls r2, 24 lsrs r2, 24 - ldr r3, _08152C7C @ =gUnknown_84720AE + ldr r3, _08152C7C @ =sUnknown_84720AE lsls r1, r0, 1 adds r1, r0 lsls r0, r2, 4 @@ -4701,7 +4701,7 @@ sub_8152BF8: @ 8152BF8 ldrb r1, [r1] mov r8, r1 movs r3, 0 - ldr r1, _08152C80 @ =gUnknown_8472133 + ldr r1, _08152C80 @ =sUnknown_8472133 lsls r0, r2, 2 adds r2, r0, r2 adds r0, r2, r1 @@ -4737,8 +4737,8 @@ _08152C60: b _08152C90 .align 2, 0 _08152C78: .4byte gUnknown_203F3E0 -_08152C7C: .4byte gUnknown_84720AE -_08152C80: .4byte gUnknown_8472133 +_08152C7C: .4byte sUnknown_84720AE +_08152C80: .4byte sUnknown_8472133 _08152C84: ldr r0, [r4] adds r0, 0x90 @@ -5432,7 +5432,7 @@ _08153172: movs r3, 0 lsls r1, r4, 2 ldr r5, _081531B4 @ =gUnknown_203F3E0 - ldr r2, _081531B8 @ =gUnknown_8475558 + ldr r2, _081531B8 @ =sUnknown_8475558 adds r1, r4 lsls r1, 1 adds r0, r1 @@ -5456,7 +5456,7 @@ _08153196: bx r0 .align 2, 0 _081531B4: .4byte gUnknown_203F3E0 -_081531B8: .4byte gUnknown_8475558 +_081531B8: .4byte sUnknown_8475558 thumb_func_end sub_8153150 thumb_func_start sub_81531BC @@ -5806,7 +5806,7 @@ sub_8153424: @ 8153424 movs r3, 0 ldr r0, _08153490 @ =gUnknown_203F3E0 mov r9, r0 - ldr r2, _08153494 @ =gUnknown_84755D8 + ldr r2, _08153494 @ =sUnknown_84755D8 mov r10, r2 ldr r2, [r0] lsls r1, r4, 1 @@ -5851,7 +5851,7 @@ _08153452: b _0815349A .align 2, 0 _08153490: .4byte gUnknown_203F3E0 -_08153494: .4byte gUnknown_84755D8 +_08153494: .4byte sUnknown_84755D8 _08153498: movs r0, 0 _0815349A: @@ -6393,7 +6393,7 @@ _08153858: beq _081538B0 b _081538CA _08153862: - ldr r0, _08153878 @ =gUnknown_84755E0 + ldr r0, _08153878 @ =sUnknown_84755E0 bl AddWindow strh r0, [r4, 0x2] lsls r0, 24 @@ -6403,7 +6403,7 @@ _08153862: movs r1, 0x3 b _0815389E .align 2, 0 -_08153878: .4byte gUnknown_84755E0 +_08153878: .4byte sUnknown_84755E0 _0815387C: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -6482,7 +6482,7 @@ sub_81538D0: @ 81538D0 adds r0, r7, 0 movs r1, 0x11 bl FillWindowPixelBuffer - ldr r0, _081539DC @ =gUnknown_84755E8 + ldr r0, _081539DC @ =sUnknown_84755E8 ldr r2, [r0] movs r0, 0x1 str r0, [sp] @@ -6507,7 +6507,7 @@ _08153946: ldr r0, [sp, 0x2C] ldm r0!, {r1} str r0, [sp, 0x2C] - ldr r0, _081539E0 @ =gUnknown_84755F8 + ldr r0, _081539E0 @ =sUnknown_84755F8 adds r0, r4, r0 ldrb r3, [r0] mov r0, r8 @@ -6519,12 +6519,12 @@ _08153946: negs r2, r2 bl GetStringWidth adds r5, r0, 0 - ldr r1, _081539DC @ =gUnknown_84755E8 + ldr r1, _081539DC @ =sUnknown_84755E8 adds r6, r4, 0x1 lsls r0, r6, 2 adds r0, r1 ldr r2, [r0] - ldr r0, _081539E4 @ =gUnknown_84755FC + ldr r0, _081539E4 @ =sUnknown_84755FC lsls r4, 1 adds r0, r4, r0 ldrb r0, [r0] @@ -6541,7 +6541,7 @@ _08153946: subs r3, r5 lsls r3, 24 lsrs r3, 24 - ldr r0, _081539E8 @ =gUnknown_8475602 + ldr r0, _081539E8 @ =sUnknown_8475602 adds r4, r0 ldrb r0, [r4] str r0, [sp] @@ -6571,10 +6571,10 @@ _081539CC: .4byte gSaveBlock2Ptr _081539D0: .4byte 0x00000b14 _081539D4: .4byte 0x00000b16 _081539D8: .4byte 0x0000021d -_081539DC: .4byte gUnknown_84755E8 -_081539E0: .4byte gUnknown_84755F8 -_081539E4: .4byte gUnknown_84755FC -_081539E8: .4byte gUnknown_8475602 +_081539DC: .4byte sUnknown_84755E8 +_081539E0: .4byte sUnknown_84755F8 +_081539E4: .4byte sUnknown_84755FC +_081539E8: .4byte sUnknown_8475602 thumb_func_end sub_81538D0 thumb_func_start sub_81539EC @@ -6600,7 +6600,7 @@ sub_8153A04: @ 8153A04 ldrb r4, [r0] cmp r4, 0x4 bhi _08153A32 - ldr r5, _08153A90 @ =gUnknown_8475648 + ldr r5, _08153A90 @ =sUnknown_8475648 _08153A14: lsls r0, r4, 3 subs r0, r4 @@ -6635,7 +6635,7 @@ _08153A40: bcs _08153A7E ldr r7, _08153A8C @ =gUnknown_203F3E0 lsls r3, r1, 1 - ldr r6, _08153A98 @ =gUnknown_8475608 + ldr r6, _08153A98 @ =sUnknown_8475608 _08153A56: ldr r2, [r7] lsls r0, r4, 1 @@ -6667,9 +6667,9 @@ _08153A7E: bx r0 .align 2, 0 _08153A8C: .4byte gUnknown_203F3E0 -_08153A90: .4byte gUnknown_8475648 +_08153A90: .4byte sUnknown_8475648 _08153A94: .4byte gLinkPlayers + 8 -_08153A98: .4byte gUnknown_8475608 +_08153A98: .4byte sUnknown_8475608 thumb_func_end sub_8153A04 thumb_func_start sub_8153A9C @@ -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 @ =sDodrioBerryPkmnGfx 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 sDodrioBerryPkmnGfx 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 @ =sDodrioBerryStatusGfx 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 sDodrioBerryStatusGfx _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 @ =sDodrioBerrySpritesGfx 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 sDodrioBerrySpritesGfx thumb_func_end sub_8154128 thumb_func_start sub_815417C @@ -7639,7 +7639,7 @@ _081541A4: bls _081541A4 movs r5, 0 ldr r7, _08154218 @ =gUnknown_203F42C - ldr r4, _0815421C @ =gUnknown_8478DD4 + ldr r4, _0815421C @ =sUnknown_8478DD4 mov r8, r4 _081541E4: movs r0, 0x4 @@ -7664,7 +7664,7 @@ _0815420C: .4byte gUnknown_8478DDC _08154210: .4byte gUnknown_8478DF4 _08154214: .4byte gUnknown_203F400 _08154218: .4byte gUnknown_203F42C -_0815421C: .4byte gUnknown_8478DD4 +_0815421C: .4byte sUnknown_8478DD4 _08154220: lsls r0, r5, 1 add r0, r8 @@ -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 @ =sDodrioBerryPlatformGfx 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 sDodrioBerryPlatformGfx _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 @ =sDodrioBerryBgTilemap1 movs r0, 0x3 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r1, _08154AC4 @ =gUnknown_8478A4C + ldr r1, _08154AC4 @ =sDodrioBerryBgTilemap2Left movs r0, 0x1 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r1, _08154AC8 @ =gUnknown_84787FC + ldr r1, _08154AC8 @ =sDodrioBerryBgTilemap2Right 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 sDodrioBerryBgTilemap1 +_08154AC4: .4byte sDodrioBerryBgTilemap2Left +_08154AC8: .4byte sDodrioBerryBgTilemap2Right _08154ACC: movs r0, 0 bl ShowBg @@ -8895,7 +8895,7 @@ _08154B7C: bl sub_81533B4 lsls r0, 24 lsrs r7, r0, 24 - ldr r1, _08154CB8 @ =gUnknown_8478E80 + ldr r1, _08154CB8 @ =sUnknown_8478E80 subs r0, r7, 0x1 lsls r0, 2 adds r0, r1 @@ -9005,7 +9005,7 @@ _08154C4E: mov r3, r8 lsls r1, r3, 1 add r1, r8 - ldr r3, _08154CD4 @ =gUnknown_8478E38 + ldr r3, _08154CD4 @ =sUnknown_8478E38 adds r1, r3 str r1, [sp] movs r1, 0x1 @@ -9041,14 +9041,14 @@ _08154CAC: adds r1, r0 b _08154D1E .align 2, 0 -_08154CB8: .4byte gUnknown_8478E80 +_08154CB8: .4byte sUnknown_8478E80 _08154CBC: .4byte 0xffffff00 _08154CC0: .4byte 0x00ffffff _08154CC4: .4byte 0xffff00ff _08154CC8: .4byte 0x0000ffff _08154CCC: .4byte 0x00003008 _08154CD0: .4byte 0xff00ffff -_08154CD4: .4byte gUnknown_8478E38 +_08154CD4: .4byte sUnknown_8478E38 _08154CD8: .4byte gUnknown_203F440 _08154CDC: .4byte 0x00003014 _08154CE0: @@ -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 @@ -9272,14 +9272,14 @@ _08154E70: ldr r0, [r2] add r0, r10 ldrb r0, [r0] - ldr r2, _08154F74 @ =gUnknown_8478E94 + ldr r2, _08154F74 @ =sUnknown_8478E94 ldr r3, [sp, 0x68] adds r1, r3, r1 ldrb r1, [r1] lsls r1, 2 adds r1, r2 ldr r2, [r1] - ldr r3, _08154F78 @ =gUnknown_8478EBA + ldr r3, _08154F78 @ =sUnknown_8478EBA lsls r1, r5, 1 adds r1, r3 ldrb r6, [r1] @@ -9309,7 +9309,7 @@ _08154EC8: mov r2, r8 lsls r1, r2, 1 add r1, r8 - ldr r2, _08154F7C @ =gUnknown_8478E38 + ldr r2, _08154F7C @ =sUnknown_8478E38 adds r1, r2 str r1, [sp] movs r4, 0x1 @@ -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,12 +9373,12 @@ _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 -_08154F78: .4byte gUnknown_8478EBA -_08154F7C: .4byte gUnknown_8478E38 +_08154F74: .4byte sUnknown_8478E94 +_08154F78: .4byte sUnknown_8478EBA +_08154F7C: .4byte sUnknown_8478E38 thumb_func_end sub_8154D9C thumb_func_start sub_8154F80 @@ -9438,7 +9438,7 @@ _08154FEC: _08155000: .4byte gUnknown_203F440 _08155004: .4byte 0x0000301c _08155008: - ldr r6, _08155050 @ =gUnknown_8475674 + ldr r6, _08155050 @ =sUnknown_8475674 adds r0, r6, 0 bl AddWindow ldr r4, _08155054 @ =gUnknown_203F440 @@ -9469,7 +9469,7 @@ _08155008: bl sub_8154868 b _08155658 .align 2, 0 -_08155050: .4byte gUnknown_8475674 +_08155050: .4byte sUnknown_8475674 _08155054: .4byte gUnknown_203F440 _08155058: .4byte 0x00003008 _0815505C: .4byte 0x00003009 @@ -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] @@ -9547,14 +9547,14 @@ _081550EA: ldr r2, _081551B0 @ =0x00003009 adds r0, r2 ldrb r0, [r0] - ldr r1, _081551BC @ =gUnknown_8478EB0 + ldr r1, _081551BC @ =sUnknown_8478EB0 mov r2, r9 lsls r4, r2, 1 adds r4, r1 ldrb r3, [r4] lsls r1, r5, 1 adds r1, r5 - ldr r2, _081551C0 @ =gUnknown_8478E38 + ldr r2, _081551C0 @ =sUnknown_8478E38 adds r1, r2 str r1, [sp] movs r5, 0x1 @@ -9569,7 +9569,7 @@ _081550EA: adds r0, 0x1 str r0, [sp, 0x88] mov r8, r4 - ldr r1, _081551C4 @ =gUnknown_8478EA8 + ldr r1, _081551C4 @ =sUnknown_8478EA8 mov r10, r1 _0815512E: mov r0, r9 @@ -9616,7 +9616,7 @@ _0815512E: lsrs r2, 24 mov r1, r8 ldrb r3, [r1] - ldr r1, _081551CC @ =gUnknown_8478E3B + ldr r1, _081551CC @ =sUnknown_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 -_081551BC: .4byte gUnknown_8478EB0 -_081551C0: .4byte gUnknown_8478E38 -_081551C4: .4byte gUnknown_8478EA8 +_081551B4: .4byte gText_BerryPickingResults +_081551B8: .4byte gText_10P30P50P50P +_081551BC: .4byte sUnknown_8478EB0 +_081551C0: .4byte sUnknown_8478E38 +_081551C4: .4byte sUnknown_8478EA8 _081551C8: .4byte 0x0000270f -_081551CC: .4byte gUnknown_8478E3B +_081551CC: .4byte sUnknown_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 @@ -9922,7 +9922,7 @@ _0815542C: adds r0, r4 ldrb r0, [r0] bl RemoveWindow - ldr r6, _0815547C @ =gUnknown_8475684 + ldr r6, _0815547C @ =sUnknown_8475684 adds r0, r6, 0 bl AddWindow ldr r1, [r5] @@ -9939,7 +9939,7 @@ _0815542C: _08155470: .4byte 0x00003014 _08155474: .4byte gUnknown_203F440 _08155478: .4byte 0x00003009 -_0815547C: .4byte gUnknown_8475684 +_0815547C: .4byte sUnknown_8475684 _08155480: ldr r0, _08155558 @ =0x00000101 bl PlayNewMapMusic @@ -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 @@ -10240,7 +10240,7 @@ _08155716: _0815571C: b _081559EC _0815571E: - ldr r5, _08155788 @ =gUnknown_847568C + ldr r5, _08155788 @ =sUnknown_847568C adds r0, r5, 0 bl AddWindow mov r2, r10 @@ -10287,7 +10287,7 @@ _0815571E: strb r7, [r0] b _08155A58 .align 2, 0 -_08155788: .4byte gUnknown_847568C +_08155788: .4byte sUnknown_847568C _0815578C: .4byte 0x00003008 _08155790: .4byte 0x00003009 _08155794: .4byte 0x00003020 @@ -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 @@ -10763,7 +10763,7 @@ _08155B74: beq _08155BEC b _08155C18 _08155B7A: - ldr r4, _08155B9C @ =gUnknown_84756A4 + ldr r4, _08155B9C @ =sUnknown_84756A4 adds r0, r4, 0 bl AddWindow ldr r1, [r5] @@ -10778,7 +10778,7 @@ _08155B7A: bl sub_8154868 b _08155C08 .align 2, 0 -_08155B9C: .4byte gUnknown_84756A4 +_08155B9C: .4byte sUnknown_84756A4 _08155BA0: .4byte 0x00003008 _08155BA4: ldr r4, _08155BE0 @ =0x00003008 @@ -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 @@ -10916,7 +10916,7 @@ _08155CA8: beq _08155D7C b _08155D9C _08155CB2: - ldr r4, _08155CF8 @ =gUnknown_847569C + ldr r4, _08155CF8 @ =sUnknown_847569C adds r0, r4, 0 bl AddWindow ldr r1, [r6] @@ -10948,7 +10948,7 @@ _08155CB2: strb r2, [r0] b _08155DE2 .align 2, 0 -_08155CF8: .4byte gUnknown_847569C +_08155CF8: .4byte sUnknown_847569C _08155CFC: .4byte 0x00003008 _08155D00: .4byte 0x0000301c _08155D04: .4byte 0x00003020 @@ -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 @@ -11240,7 +11240,7 @@ _08155EC6: bl SetGpuReg movs r0, 0 bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08155FD8 @ =gUnknown_847565C + ldr r1, _08155FD8 @ =sUnknown_847565C movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates @@ -11307,7 +11307,7 @@ _08155EC6: .align 2, 0 _08155FD0: .4byte 0x040000d4 _08155FD4: .4byte 0x81000800 -_08155FD8: .4byte gUnknown_847565C +_08155FD8: .4byte sUnknown_847565C _08155FDC: .4byte gUnknown_203F440 thumb_func_end sub_8155EA0 @@ -11340,26 +11340,26 @@ _08156008: .4byte _0815605C .4byte _0815606A _08156020: - ldr r0, _0815602C @ =gUnknown_84758A8 + ldr r0, _0815602C @ =sDodrioBerryBgPal1 movs r1, 0 movs r2, 0x40 bl LoadPalette b _08156082 .align 2, 0 -_0815602C: .4byte gUnknown_84758A8 +_0815602C: .4byte sDodrioBerryBgPal1 _08156030: bl ResetTempTileDataBuffers b _08156082 _08156036: - ldr r1, _08156040 @ =gUnknown_8475B3C + ldr r1, _08156040 @ =sDodrioBerryBgGfx1 movs r0, 0 str r0, [sp] movs r0, 0x3 b _0815604C .align 2, 0 -_08156040: .4byte gUnknown_8475B3C +_08156040: .4byte sDodrioBerryBgGfx1 _08156044: - ldr r1, _08156058 @ =gUnknown_84763CC + ldr r1, _08156058 @ =sDodrioBerryBgGfx2 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 sDodrioBerryBgGfx2 _0815605C: bl FreeTempTileDataBuffersIfPossible lsls r0, 24 diff --git a/baserom.ips b/baserom.ips Binary files differindex 6f493753a..74aa1927b 100644 --- a/baserom.ips +++ b/baserom.ips diff --git a/data/berry_powder.s b/data/berry_powder.s new file mode 100644 index 000000000..0f812d79d --- /dev/null +++ b/data/berry_powder.s @@ -0,0 +1,36 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + + .align 2 +gUnknown_847565C_UnrefDupe:: @ 8471F00 struct BgTemplate(???) + .4byte 0x000001e0 + .4byte 0x000012c9 + .4byte 0x000012ea + .4byte 0x000021ff + .4byte 0x000000ff + .4byte 0x00000000 + + .align 2 +gUnknown_8475674_UnrefDupe:: @ 8471F18 + window_template 0x00, 0x01, 0x01, 0x1c, 0x03, 0x0d, 0x0013 + window_template 0x00, 0x01, 0x06, 0x1c, 0x0d, 0x0d, 0x0067 + + .align 2 +gUnknown_8475684_UnrefDupe:: @ 8471F28 + window_template 0x00, 0x01, 0x06, 0x1c, 0x07, 0x0d, 0x0067 + + .align 2 +gUnknown_847568C_UnrefDupe:: @ 8471F30 + window_template 0x00, 0x01, 0x08, 0x13, 0x03, 0x0d, 0x0013 + window_template 0x00, 0x16, 0x07, 0x06, 0x04, 0x0d, 0x004c + + .align 2 +gUnknown_847569C_UnrefDupe:: @ 8471F40 + window_template 0x00, 0x04, 0x06, 0x16, 0x05, 0x0d, 0x0013 + + .align 2 +gUnknown_84756A4_UnrefDupe:: @ 8471F48 + window_template 0x00, 0x05, 0x08, 0x13, 0x03, 0x0d, 0x0013 diff --git a/data/data_8471F00.s b/data/data_8479668.s index c3b4b7c01..8527b4f09 100644 --- a/data/data_8471F00.s +++ b/data/data_8479668.s @@ -14,186 +14,6 @@ .section .rodata .align 2 -gUnknown_8471F00:: - .incbin "baserom.gba", 0x471F00, 0x50 - -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 2cbcf5503..1725f16e6 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 d71d94d48..aa12fc3ac 100644 --- a/include/strings.h +++ b/include/strings.h @@ -590,6 +590,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 f289b8547..f4678a1b0 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -555,18 +555,19 @@ SECTIONS { src/braille_text.o(.rodata); src/text_window_graphics.o(.rodata); src/quest_log_8150454.o(.rodata); - data/data_8471F00.o(.rodata); + data/berry_powder.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_8471F00.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_8471F00.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..1860f1917 --- /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 sUnknown_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 sUnknown_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 sUnknown_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 sUnknown_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 sUnknown_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 sUnknown_847553C[][3] = +{ + {40, 24, 13}, + {32, 19, 10}, + {22, 13, 7}, +}; + +ALIGNED(4) +/*static*/ const u8 sUnknown_8475548[] = {8, 5, 8, 11, 15}; + +ALIGNED(4) +/*static*/ const u8 sUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100}; + +ALIGNED(4) +/*static*/ const u8 sUnknown_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 sUnknown_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 sUnknown_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 sUnknown_84755D8[] = {10, 30, 50, 50}; + +// Data related to printing saved results. +/*static*/ const struct WindowTemplate sUnknown_84755E0 = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 11, + .paletteNum = 15, + .baseBlock = 1, +}; + +/*static*/ const u8 *const sUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers}; +/*static*/ const u8 sUnknown_84755F8[] = {4, 7, 4}; + +ALIGNED(4) +/*static*/ const u8 sUnknown_84755FC[][2] = {{24}, {40}, {56}}; +/*static*/ const u8 sUnknown_8475602[][2] = {{24}, {40}, {70}}; + +// Debug functions? +/*static*/ const u16 sUnknown_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 sUnknown_8475630[] = _("あいうえおかき"); +/*static*/ const u8 sUnknown_8475638[] = _("ABCDEFG"); +/*static*/ const u8 sUnknown_8475640[] = _("0123456"); + +/*static*/ const u8 *const sUnknown_8475648[] = +{ + sUnknown_8475630, + sUnknown_8475630, + sUnknown_8475630, + sUnknown_8475638, + sUnknown_8475640 +}; + +// Large chunk of data +/*static*/ const struct BgTemplate sUnknown_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 sUnknown_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 sUnknown_8475684 = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 6, + .width = 28, + .height = 7, + .paletteNum = 13, + .baseBlock = 0x67, +}; + +/*static*/ const struct WindowTemplate sUnknown_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 sUnknown_847569C = +{ + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 6, + .width = 22, + .height = 5, + .paletteNum = 13, + .baseBlock = 0x13, +}; + +/*static*/ const struct WindowTemplate sUnknown_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 sDodrioBerryBgPal1[] = INCBIN_U16("graphics/link_games/dodrioberry_bg1.gbapal", + "graphics/link_games/dodrioberry_bg2.gbapal"); +/*static*/ const u16 sDodrioBerryPkmnPal[] = INCBIN_U16("graphics/link_games/dodrioberry_pkmn.gbapal"); +/*static*/ const u16 sDodrioBerryShinyPal[] = INCBIN_U16("graphics/link_games/dodrioberry_shiny.gbapal"); +/*static*/ const u16 sDodrioBerryStatusPal[] = INCBIN_U16("graphics/link_games/dodrioberry_status.gbapal"); +/*static*/ const u16 sDodrioBerrySpritesPal[] = INCBIN_U16("graphics/link_games/dodrioberry_berrysprites.gbapal"); +/*static*/ const u32 sDodrioBerrySpritesGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_berrysprites.4bpp.lz"); +/*static*/ const u16 sDodrioBerryPlatformPal[] = INCBIN_U16("graphics/link_games/dodrioberry_platform.gbapal"); +/*static*/ const u32 sDodrioBerryBgGfx1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.4bpp.lz"); +/*static*/ const u32 sDodrioBerryBgGfx2[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2.4bpp.lz"); +/*static*/ const u32 sDodrioBerryStatusGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_status.4bpp.lz"); +/*static*/ const u32 sDodrioBerryPlatformGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_platform.4bpp.lz"); +/*static*/ const u32 sDodrioBerryPkmnGfx[] = INCBIN_U32("graphics/link_games/dodrioberry_pkmn.4bpp.lz"); +/*static*/ const u32 sDodrioBerryBgTilemap1[] = INCBIN_U32("graphics/link_games/dodrioberry_bg1.bin.lz"); +/*static*/ const u32 sDodrioBerryBgTilemap2Right[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2right.bin.lz"); +/*static*/ const u32 sDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/dodrioberry_bg2left.bin.lz"); + +/*static*/ const struct OamData sOamData_8478C98 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CA0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CA8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +/*static*/ const struct OamData sOamData_8478CB0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .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 = {sDodrioBerryPkmnPal, 0}; +const struct SpritePalette gUnknown_8478D98 = {sDodrioBerryShinyPal, 1}; + +// These are declared inside pokeemerald's sub_8028734 +const struct SpritePalette gUnknown_8478DA0 = {sDodrioBerryStatusPal, 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 = {sDodrioBerrySpritesPal, 3}; + +/*static*/ const s16 sUnknown_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 = {sDodrioBerryPlatformPal, 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 sUnknown_8478E38[][3] = +{ + {1, 2, 3}, + {1, 4, 5}, + {1, 8, 9}, + {1, 6, 7}, +}; + +/*static*/ const struct WinCoords sUnknown_8478E44[] = {{12, 6}}; +/*static*/ const struct WinCoords sUnknown_8478E48[] = {{9, 10}, {15, 6}}; +/*static*/ const struct WinCoords sUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}}; +/*static*/ const struct WinCoords sUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}}; +/*static*/ const struct WinCoords sUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}}; + +/*static*/ const struct WinCoords *const sUnknown_8478E80[] = +{ + sUnknown_8478E44, + sUnknown_8478E48, + sUnknown_8478E50, + sUnknown_8478E5C, + sUnknown_8478E6C, +}; + +/*static*/ const u8 *const sUnknown_8478E94[] = +{ + gText_1Colon, + gText_2Colon, + gText_3Colon, + gText_4Colon, + gText_5Colon, +}; + +/*static*/ const u16 sUnknown_8478EA8[] = {92, 132, 172, 212}; +/*static*/ const u16 sUnknown_8478EB0[] = {30, 45, 60, 75, 90}; +/*static*/ const u16 sUnknown_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}; |