From e45aee1ff2c693d09b47cd381a94557b3f3cdcb8 Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Mon, 2 Dec 2019 22:47:45 -0800 Subject: Port/dump dodrio_berry_picking data. --- asm/dodrio_berry_picking.s | 98 +-- data/data_8471F50.s | 757 ----------------------- data/data_8479668.s | 580 +++++++++++++++++ data/strings.s | 31 +- graphics/link_games/dodrioberry_berrysprites.png | Bin 0 -> 395 bytes graphics/link_games/dodrioberry_bg1.bin | Bin 0 -> 1280 bytes graphics/link_games/dodrioberry_bg1.pal | 19 + graphics/link_games/dodrioberry_bg1.png | Bin 0 -> 1887 bytes graphics/link_games/dodrioberry_bg2.pal | 19 + graphics/link_games/dodrioberry_bg2.png | Bin 0 -> 2856 bytes graphics/link_games/dodrioberry_bg2left.bin | Bin 0 -> 1280 bytes graphics/link_games/dodrioberry_bg2right.bin | Bin 0 -> 1280 bytes graphics/link_games/dodrioberry_pkmn.png | Bin 0 -> 3330 bytes graphics/link_games/dodrioberry_platform.png | Bin 0 -> 310 bytes graphics/link_games/dodrioberry_shiny.pal | 19 + graphics/link_games/dodrioberry_status.png | Bin 0 -> 195 bytes include/strings.h | 22 + ld_script.txt | 6 +- src/dodrio_berry_picking.c | 748 ++++++++++++++++++++++ 19 files changed, 1479 insertions(+), 820 deletions(-) delete mode 100644 data/data_8471F50.s create mode 100644 data/data_8479668.s create mode 100644 graphics/link_games/dodrioberry_berrysprites.png create mode 100644 graphics/link_games/dodrioberry_bg1.bin create mode 100644 graphics/link_games/dodrioberry_bg1.pal create mode 100644 graphics/link_games/dodrioberry_bg1.png create mode 100644 graphics/link_games/dodrioberry_bg2.pal create mode 100644 graphics/link_games/dodrioberry_bg2.png create mode 100644 graphics/link_games/dodrioberry_bg2left.bin create mode 100644 graphics/link_games/dodrioberry_bg2right.bin create mode 100644 graphics/link_games/dodrioberry_pkmn.png create mode 100644 graphics/link_games/dodrioberry_platform.png create mode 100644 graphics/link_games/dodrioberry_shiny.pal create mode 100644 graphics/link_games/dodrioberry_status.png create mode 100644 src/dodrio_berry_picking.c 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_8471F50.s deleted file mode 100644 index 8a3a7ae77..000000000 --- a/data/data_8471F50.s +++ /dev/null @@ -1,757 +0,0 @@ -#include "constants/species.h" -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/pokemon.h" -#include "constants/easy_chat.h" -#include "constants/facility_trainer_classes.h" - -#define MALE 0 -#define FEMALE 1 -#define NULL 0 - - .include "asm/macros.inc" - - .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" - -gUnknown_8479688:: - .incbin "graphics/misc/unk_8479688.4bpp.lz" - -gUnknown_8479748:: - .incbin "graphics/misc/unk_8479748.4bpp.lz" - - .section .rodata.after_trainer_tower - - // berry_fix_program - -gUnknown_847A8D8:: - .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" - -gUnknown_847A8FA:: - .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" - -gUnknown_847A913:: - .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" - -gUnknown_847A934:: - .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" - -gUnknown_847A955:: - .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 26}.$" - -gUnknown_847A976:: - .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 6}k{CLEAR 6}l{CLEAR 7} {CLEAR 26},$" - -gUnknown_847A997:: - .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 7}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" - -gUnknown_847A9B8:: - .string "{CLEAR 12}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" - -gUnknown_847A9D9:: - .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 26}.$" - -gUnknown_847A9FA:: - .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 26},$" - -gUnknown_847AA1B:: - .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" - -gUnknown_847AA3C:: - .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" - -gUnknown_847AA5D:: - .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" - -gUnknown_847AA76:: - .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" - -gUnknown_847AA8F:: - .string "{CLEAR 11}!{CLEAR 16}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 16}-$" - -gUnknown_847AAA8:: - .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 18}'{CLEAR 18} $" - -gUnknown_847AAC1:: - .string "ABCDE$" - -gUnknown_847AAC7:: - .string "FGHIJ$" - -gUnknown_847AACD:: - .string "KLMNO$" - -gUnknown_847AAD3:: - .string "PQRST$" - -gUnknown_847AAD9:: - .string "UVWXY$" - -gUnknown_847AADF:: - .string "Z $" - -gUnknown_847AAE5:: - .string "01234$" - -gUnknown_847AAEB:: - .string "56789$" - -gUnknown_847AAF1:: - .string ".,!? $" - -gUnknown_847AAF7:: - .string "-/&… $" - -gUnknown_847AAFD:: - .string "abcde$" - -gUnknown_847AB03:: - .string "fghij$" - -gUnknown_847AB09:: - .string "klmno$" - -gUnknown_847AB0F:: - .string "pqrst$" - -gUnknown_847AB15:: - .string "uvwxy$" - -gUnknown_847AB1B:: - .string "z $" - -gUnknown_847AB21:: - .string "01234$" - -gUnknown_847AB27:: - .string "56789$" - -gUnknown_847AB2D:: - .string ".,!? $" - -gUnknown_847AB33:: - .string "-/&… $" - - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - -gUnknown_847AB41:: - .string "{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}$" - -gUnknown_847AB4C:: - .string "{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}$" - -gUnknown_847AB57:: - .string "{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}$" - -gUnknown_847AB62:: - .string "♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}$" - -gUnknown_847AB6B:: - .string "{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}$" - -gUnknown_847AB76:: - .string "{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}$" - -gUnknown_847AB81:: - .string "{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}$" - -gUnknown_847AB8C:: - .string "{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}$" - -gUnknown_847AB97:: - .string "{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}$" - -gUnknown_847ABA2:: - .string "{EXTRA 210}{EXTRA 208}ょ: $" - - // trainer_tower (again?) - - @ 847ABAC -.align 2 - .include "data/trainer_tower/trainers.inc" - - .align 2 -gUnknown_84827AC:: @ 84827AC - .byte 0x08, 0x01 - .align 2 - .4byte 0 - -gUnknown_84827B4:: @ 84827B4 - .4byte gUnknown_847F16C - .4byte gUnknown_847D26C - .4byte gUnknown_84808AC - .4byte gUnknown_847ABAC - .4byte gUnknown_847CAAC - .4byte gUnknown_847E9AC - .4byte gUnknown_847AF8C - .4byte gUnknown_847CE8C - .4byte gUnknown_847DA2C - .4byte gUnknown_847BF0C - .4byte gUnknown_847D64C - .4byte gUnknown_847DE0C - .4byte gUnknown_847B74C - .4byte gUnknown_847BB2C - .4byte gUnknown_848182C - .4byte gUnknown_847F92C - .4byte gUnknown_847C2EC - .4byte gUnknown_847C6CC - .4byte gUnknown_847E5CC - .4byte gUnknown_84804CC - .4byte gUnknown_84823CC - .4byte gUnknown_8481FEC - .4byte gUnknown_84800EC - .4byte gUnknown_847E1EC - .4byte gUnknown_847ED8C - .4byte gUnknown_848106C - .4byte gUnknown_8480C8C - .4byte gUnknown_847F92C - .4byte gUnknown_847F54C - .4byte gUnknown_847E1EC - .4byte gUnknown_847D64C - .4byte gUnknown_847C6CC - - .include "data/text/move_descriptions.inc" - - .align 2, 0 -gMoveDescriptionPointers:: @ 84886E8 - .4byte gMoveDescription_Pound - .4byte gMoveDescription_KarateChop - .4byte gMoveDescription_DoubleSlap - .4byte gMoveDescription_CometPunch - .4byte gMoveDescription_MegaPunch - .4byte gMoveDescription_PayDay - .4byte gMoveDescription_FirePunch - .4byte gMoveDescription_IcePunch - .4byte gMoveDescription_ThunderPunch - .4byte gMoveDescription_Scratch - .4byte gMoveDescription_ViceGrip - .4byte gMoveDescription_Guillotine - .4byte gMoveDescription_RazorWind - .4byte gMoveDescription_SwordsDance - .4byte gMoveDescription_Cut - .4byte gMoveDescription_Gust - .4byte gMoveDescription_WingAttack - .4byte gMoveDescription_Whirlwind - .4byte gMoveDescription_Fly - .4byte gMoveDescription_Bind - .4byte gMoveDescription_Slam - .4byte gMoveDescription_VineWhip - .4byte gMoveDescription_Stomp - .4byte gMoveDescription_DoubleKick - .4byte gMoveDescription_MegaKick - .4byte gMoveDescription_JumpKick - .4byte gMoveDescription_RollingKick - .4byte gMoveDescription_SandAttack - .4byte gMoveDescription_Headbutt - .4byte gMoveDescription_HornAttack - .4byte gMoveDescription_FuryAttack - .4byte gMoveDescription_HornDrill - .4byte gMoveDescription_Tackle - .4byte gMoveDescription_BodySlam - .4byte gMoveDescription_Wrap - .4byte gMoveDescription_TakeDown - .4byte gMoveDescription_Thrash - .4byte gMoveDescription_DoubleEdge - .4byte gMoveDescription_TailWhip - .4byte gMoveDescription_PoisonSting - .4byte gMoveDescription_Twineedle - .4byte gMoveDescription_PinMissile - .4byte gMoveDescription_Leer - .4byte gMoveDescription_Bite - .4byte gMoveDescription_Growl - .4byte gMoveDescription_Roar - .4byte gMoveDescription_Sing - .4byte gMoveDescription_Supersonic - .4byte gMoveDescription_SonicBoom - .4byte gMoveDescription_Disable - .4byte gMoveDescription_Acid - .4byte gMoveDescription_Ember - .4byte gMoveDescription_Flamethrower - .4byte gMoveDescription_Mist - .4byte gMoveDescription_WaterGun - .4byte gMoveDescription_HydroPump - .4byte gMoveDescription_Surf - .4byte gMoveDescription_IceBeam - .4byte gMoveDescription_Blizzard - .4byte gMoveDescription_Psybeam - .4byte gMoveDescription_BubbleBeam - .4byte gMoveDescription_AuroraBeam - .4byte gMoveDescription_HyperBeam - .4byte gMoveDescription_Peck - .4byte gMoveDescription_DrillPeck - .4byte gMoveDescription_Submission - .4byte gMoveDescription_LowKick - .4byte gMoveDescription_Counter - .4byte gMoveDescription_SeismicToss - .4byte gMoveDescription_Strength - .4byte gMoveDescription_Absorb - .4byte gMoveDescription_MegaDrain - .4byte gMoveDescription_LeechSeed - .4byte gMoveDescription_Growth - .4byte gMoveDescription_RazorLeaf - .4byte gMoveDescription_SolarBeam - .4byte gMoveDescription_PoisonPowder - .4byte gMoveDescription_StunSpore - .4byte gMoveDescription_SleepPowder - .4byte gMoveDescription_PetalDance - .4byte gMoveDescription_StringShot - .4byte gMoveDescription_DragonRage - .4byte gMoveDescription_FireSpin - .4byte gMoveDescription_ThunderShock - .4byte gMoveDescription_Thunderbolt - .4byte gMoveDescription_ThunderWave - .4byte gMoveDescription_Thunder - .4byte gMoveDescription_RockThrow - .4byte gMoveDescription_Earthquake - .4byte gMoveDescription_Fissure - .4byte gMoveDescription_Dig - .4byte gMoveDescription_Toxic - .4byte gMoveDescription_Confusion - .4byte gMoveDescription_Psychic - .4byte gMoveDescription_Hypnosis - .4byte gMoveDescription_Meditate - .4byte gMoveDescription_Agility - .4byte gMoveDescription_QuickAttack - .4byte gMoveDescription_Rage - .4byte gMoveDescription_Teleport - .4byte gMoveDescription_NightShade - .4byte gMoveDescription_Mimic - .4byte gMoveDescription_Screech - .4byte gMoveDescription_DoubleTeam - .4byte gMoveDescription_Recover - .4byte gMoveDescription_Harden - .4byte gMoveDescription_Minimize - .4byte gMoveDescription_Smokescreen - .4byte gMoveDescription_ConfuseRay - .4byte gMoveDescription_Withdraw - .4byte gMoveDescription_DefenseCurl - .4byte gMoveDescription_Barrier - .4byte gMoveDescription_LightScreen - .4byte gMoveDescription_Haze - .4byte gMoveDescription_Reflect - .4byte gMoveDescription_FocusEnergy - .4byte gMoveDescription_Bide - .4byte gMoveDescription_Metronome - .4byte gMoveDescription_MirrorMove - .4byte gMoveDescription_SelfDestruct - .4byte gMoveDescription_EggBomb - .4byte gMoveDescription_Lick - .4byte gMoveDescription_Smog - .4byte gMoveDescription_Sludge - .4byte gMoveDescription_BoneClub - .4byte gMoveDescription_FireBlast - .4byte gMoveDescription_Waterfall - .4byte gMoveDescription_Clamp - .4byte gMoveDescription_Swift - .4byte gMoveDescription_SkullBash - .4byte gMoveDescription_SpikeCannon - .4byte gMoveDescription_Constrict - .4byte gMoveDescription_Amnesia - .4byte gMoveDescription_Kinesis - .4byte gMoveDescription_SoftBoiled - .4byte gMoveDescription_HiJumpKick - .4byte gMoveDescription_Glare - .4byte gMoveDescription_DreamEater - .4byte gMoveDescription_PoisonGas - .4byte gMoveDescription_Barrage - .4byte gMoveDescription_LeechLife - .4byte gMoveDescription_LovelyKiss - .4byte gMoveDescription_SkyAttack - .4byte gMoveDescription_Transform - .4byte gMoveDescription_Bubble - .4byte gMoveDescription_DizzyPunch - .4byte gMoveDescription_Spore - .4byte gMoveDescription_Flash - .4byte gMoveDescription_Psywave - .4byte gMoveDescription_Splash - .4byte gMoveDescription_AcidArmor - .4byte gMoveDescription_Crabhammer - .4byte gMoveDescription_Explosion - .4byte gMoveDescription_FurySwipes - .4byte gMoveDescription_Bonemerang - .4byte gMoveDescription_Rest - .4byte gMoveDescription_RockSlide - .4byte gMoveDescription_HyperFang - .4byte gMoveDescription_Sharpen - .4byte gMoveDescription_Conversion - .4byte gMoveDescription_TriAttack - .4byte gMoveDescription_SuperFang - .4byte gMoveDescription_Slash - .4byte gMoveDescription_Substitute - .4byte gMoveDescription_Struggle - .4byte gMoveDescription_Sketch - .4byte gMoveDescription_TripleKick - .4byte gMoveDescription_Thief - .4byte gMoveDescription_SpiderWeb - .4byte gMoveDescription_MindReader - .4byte gMoveDescription_Nightmare - .4byte gMoveDescription_FlameWheel - .4byte gMoveDescription_Snore - .4byte gMoveDescription_Curse - .4byte gMoveDescription_Flail - .4byte gMoveDescription_Conversion2 - .4byte gMoveDescription_Aeroblast - .4byte gMoveDescription_CottonSpore - .4byte gMoveDescription_Reversal - .4byte gMoveDescription_Spite - .4byte gMoveDescription_PowderSnow - .4byte gMoveDescription_Protect - .4byte gMoveDescription_MachPunch - .4byte gMoveDescription_ScaryFace - .4byte gMoveDescription_FaintAttack - .4byte gMoveDescription_SweetKiss - .4byte gMoveDescription_BellyDrum - .4byte gMoveDescription_SludgeBomb - .4byte gMoveDescription_MudSlap - .4byte gMoveDescription_Octazooka - .4byte gMoveDescription_Spikes - .4byte gMoveDescription_ZapCannon - .4byte gMoveDescription_Foresight - .4byte gMoveDescription_DestinyBond - .4byte gMoveDescription_PerishSong - .4byte gMoveDescription_IcyWind - .4byte gMoveDescription_Detect - .4byte gMoveDescription_BoneRush - .4byte gMoveDescription_LockOn - .4byte gMoveDescription_Outrage - .4byte gMoveDescription_Sandstorm - .4byte gMoveDescription_GigaDrain - .4byte gMoveDescription_Endure - .4byte gMoveDescription_Charm - .4byte gMoveDescription_Rollout - .4byte gMoveDescription_FalseSwipe - .4byte gMoveDescription_Swagger - .4byte gMoveDescription_MilkDrink - .4byte gMoveDescription_Spark - .4byte gMoveDescription_FuryCutter - .4byte gMoveDescription_SteelWing - .4byte gMoveDescription_MeanLook - .4byte gMoveDescription_Attract - .4byte gMoveDescription_SleepTalk - .4byte gMoveDescription_HealBell - .4byte gMoveDescription_Return - .4byte gMoveDescription_Present - .4byte gMoveDescription_Frustration - .4byte gMoveDescription_Safeguard - .4byte gMoveDescription_PainSplit - .4byte gMoveDescription_SacredFire - .4byte gMoveDescription_Magnitude - .4byte gMoveDescription_DynamicPunch - .4byte gMoveDescription_Megahorn - .4byte gMoveDescription_DragonBreath - .4byte gMoveDescription_BatonPass - .4byte gMoveDescription_Encore - .4byte gMoveDescription_Pursuit - .4byte gMoveDescription_RapidSpin - .4byte gMoveDescription_SweetScent - .4byte gMoveDescription_IronTail - .4byte gMoveDescription_MetalClaw - .4byte gMoveDescription_VitalThrow - .4byte gMoveDescription_MorningSun - .4byte gMoveDescription_Synthesis - .4byte gMoveDescription_Moonlight - .4byte gMoveDescription_HiddenPower - .4byte gMoveDescription_CrossChop - .4byte gMoveDescription_Twister - .4byte gMoveDescription_RainDance - .4byte gMoveDescription_SunnyDay - .4byte gMoveDescription_Crunch - .4byte gMoveDescription_MirrorCoat - .4byte gMoveDescription_PsychUp - .4byte gMoveDescription_ExtremeSpeed - .4byte gMoveDescription_AncientPower - .4byte gMoveDescription_ShadowBall - .4byte gMoveDescription_FutureSight - .4byte gMoveDescription_RockSmash - .4byte gMoveDescription_Whirlpool - .4byte gMoveDescription_BeatUp - .4byte gMoveDescription_FakeOut - .4byte gMoveDescription_Uproar - .4byte gMoveDescription_Stockpile - .4byte gMoveDescription_SpitUp - .4byte gMoveDescription_Swallow - .4byte gMoveDescription_HeatWave - .4byte gMoveDescription_Hail - .4byte gMoveDescription_Torment - .4byte gMoveDescription_Flatter - .4byte gMoveDescription_WillOWisp - .4byte gMoveDescription_Memento - .4byte gMoveDescription_Facade - .4byte gMoveDescription_FocusPunch - .4byte gMoveDescription_SmellingSalt - .4byte gMoveDescription_FollowMe - .4byte gMoveDescription_NaturePower - .4byte gMoveDescription_Charge - .4byte gMoveDescription_Taunt - .4byte gMoveDescription_HelpingHand - .4byte gMoveDescription_Trick - .4byte gMoveDescription_RolePlay - .4byte gMoveDescription_Wish - .4byte gMoveDescription_Assist - .4byte gMoveDescription_Ingrain - .4byte gMoveDescription_Superpower - .4byte gMoveDescription_MagicCoat - .4byte gMoveDescription_Recycle - .4byte gMoveDescription_Revenge - .4byte gMoveDescription_BrickBreak - .4byte gMoveDescription_Yawn - .4byte gMoveDescription_KnockOff - .4byte gMoveDescription_Endeavor - .4byte gMoveDescription_Eruption - .4byte gMoveDescription_SkillSwap - .4byte gMoveDescription_Imprison - .4byte gMoveDescription_Refresh - .4byte gMoveDescription_Grudge - .4byte gMoveDescription_Snatch - .4byte gMoveDescription_SecretPower - .4byte gMoveDescription_Dive - .4byte gMoveDescription_ArmThrust - .4byte gMoveDescription_Camouflage - .4byte gMoveDescription_TailGlow - .4byte gMoveDescription_LusterPurge - .4byte gMoveDescription_MistBall - .4byte gMoveDescription_FeatherDance - .4byte gMoveDescription_TeeterDance - .4byte gMoveDescription_BlazeKick - .4byte gMoveDescription_MudSport - .4byte gMoveDescription_IceBall - .4byte gMoveDescription_NeedleArm - .4byte gMoveDescription_SlackOff - .4byte gMoveDescription_HyperVoice - .4byte gMoveDescription_PoisonFang - .4byte gMoveDescription_CrushClaw - .4byte gMoveDescription_BlastBurn - .4byte gMoveDescription_HydroCannon - .4byte gMoveDescription_MeteorMash - .4byte gMoveDescription_Astonish - .4byte gMoveDescription_WeatherBall - .4byte gMoveDescription_Aromatherapy - .4byte gMoveDescription_FakeTears - .4byte gMoveDescription_AirCutter - .4byte gMoveDescription_Overheat - .4byte gMoveDescription_OdorSleuth - .4byte gMoveDescription_RockTomb - .4byte gMoveDescription_SilverWind - .4byte gMoveDescription_MetalSound - .4byte gMoveDescription_GrassWhistle - .4byte gMoveDescription_Tickle - .4byte gMoveDescription_CosmicPower - .4byte gMoveDescription_WaterSpout - .4byte gMoveDescription_SignalBeam - .4byte gMoveDescription_ShadowPunch - .4byte gMoveDescription_Extrasensory - .4byte gMoveDescription_SkyUppercut - .4byte gMoveDescription_SandTomb - .4byte gMoveDescription_SheerCold - .4byte gMoveDescription_MuddyWater - .4byte gMoveDescription_BulletSeed - .4byte gMoveDescription_AerialAce - .4byte gMoveDescription_IcicleSpear - .4byte gMoveDescription_IronDefense - .4byte gMoveDescription_Block - .4byte gMoveDescription_Howl - .4byte gMoveDescription_DragonClaw - .4byte gMoveDescription_FrenzyPlant - .4byte gMoveDescription_BulkUp - .4byte gMoveDescription_Bounce - .4byte gMoveDescription_MudShot - .4byte gMoveDescription_PoisonTail - .4byte gMoveDescription_Covet - .4byte gMoveDescription_VoltTackle - .4byte gMoveDescription_MagicalLeaf - .4byte gMoveDescription_WaterSport - .4byte gMoveDescription_CalmMind - .4byte gMoveDescription_LeafBlade - .4byte gMoveDescription_DragonDance - .4byte gMoveDescription_RockBlast - .4byte gMoveDescription_ShockWave - .4byte gMoveDescription_WaterPulse - .4byte gMoveDescription_DoomDesire - .4byte gMoveDescription_PsychoBoost diff --git a/data/data_8479668.s b/data/data_8479668.s new file mode 100644 index 000000000..8527b4f09 --- /dev/null +++ b/data/data_8479668.s @@ -0,0 +1,580 @@ +#include "constants/species.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/pokemon.h" +#include "constants/easy_chat.h" +#include "constants/facility_trainer_classes.h" + +#define MALE 0 +#define FEMALE 1 +#define NULL 0 + + .include "asm/macros.inc" + + .section .rodata + + .align 2 +gUnknown_8479668:: @ 8479668 + .incbin "graphics/misc/unk_8479688.gbapal" + +gUnknown_8479688:: + .incbin "graphics/misc/unk_8479688.4bpp.lz" + +gUnknown_8479748:: + .incbin "graphics/misc/unk_8479748.4bpp.lz" + + .section .rodata.after_trainer_tower + + // berry_fix_program + +gUnknown_847A8D8:: + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" + +gUnknown_847A8FA:: + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" + +gUnknown_847A913:: + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + +gUnknown_847A934:: + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + +gUnknown_847A955:: + .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 26}.$" + +gUnknown_847A976:: + .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 6}k{CLEAR 6}l{CLEAR 7} {CLEAR 26},$" + +gUnknown_847A997:: + .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 7}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" + +gUnknown_847A9B8:: + .string "{CLEAR 12}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" + +gUnknown_847A9D9:: + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 26}.$" + +gUnknown_847A9FA:: + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 26},$" + +gUnknown_847AA1B:: + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + +gUnknown_847AA3C:: + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + +gUnknown_847AA5D:: + .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" + +gUnknown_847AA76:: + .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" + +gUnknown_847AA8F:: + .string "{CLEAR 11}!{CLEAR 16}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 16}-$" + +gUnknown_847AAA8:: + .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 18}'{CLEAR 18} $" + +gUnknown_847AAC1:: + .string "ABCDE$" + +gUnknown_847AAC7:: + .string "FGHIJ$" + +gUnknown_847AACD:: + .string "KLMNO$" + +gUnknown_847AAD3:: + .string "PQRST$" + +gUnknown_847AAD9:: + .string "UVWXY$" + +gUnknown_847AADF:: + .string "Z $" + +gUnknown_847AAE5:: + .string "01234$" + +gUnknown_847AAEB:: + .string "56789$" + +gUnknown_847AAF1:: + .string ".,!? $" + +gUnknown_847AAF7:: + .string "-/&… $" + +gUnknown_847AAFD:: + .string "abcde$" + +gUnknown_847AB03:: + .string "fghij$" + +gUnknown_847AB09:: + .string "klmno$" + +gUnknown_847AB0F:: + .string "pqrst$" + +gUnknown_847AB15:: + .string "uvwxy$" + +gUnknown_847AB1B:: + .string "z $" + +gUnknown_847AB21:: + .string "01234$" + +gUnknown_847AB27:: + .string "56789$" + +gUnknown_847AB2D:: + .string ".,!? $" + +gUnknown_847AB33:: + .string "-/&… $" + + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + .string "$" + +gUnknown_847AB41:: + .string "{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}$" + +gUnknown_847AB4C:: + .string "{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}$" + +gUnknown_847AB57:: + .string "{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}$" + +gUnknown_847AB62:: + .string "♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}$" + +gUnknown_847AB6B:: + .string "{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}$" + +gUnknown_847AB76:: + .string "{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}$" + +gUnknown_847AB81:: + .string "{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}$" + +gUnknown_847AB8C:: + .string "{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}$" + +gUnknown_847AB97:: + .string "{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}$" + +gUnknown_847ABA2:: + .string "{EXTRA 210}{EXTRA 208}ょ: $" + + // trainer_tower (again?) + + @ 847ABAC +.align 2 + .include "data/trainer_tower/trainers.inc" + + .align 2 +gUnknown_84827AC:: @ 84827AC + .byte 0x08, 0x01 + .align 2 + .4byte 0 + +gUnknown_84827B4:: @ 84827B4 + .4byte gUnknown_847F16C + .4byte gUnknown_847D26C + .4byte gUnknown_84808AC + .4byte gUnknown_847ABAC + .4byte gUnknown_847CAAC + .4byte gUnknown_847E9AC + .4byte gUnknown_847AF8C + .4byte gUnknown_847CE8C + .4byte gUnknown_847DA2C + .4byte gUnknown_847BF0C + .4byte gUnknown_847D64C + .4byte gUnknown_847DE0C + .4byte gUnknown_847B74C + .4byte gUnknown_847BB2C + .4byte gUnknown_848182C + .4byte gUnknown_847F92C + .4byte gUnknown_847C2EC + .4byte gUnknown_847C6CC + .4byte gUnknown_847E5CC + .4byte gUnknown_84804CC + .4byte gUnknown_84823CC + .4byte gUnknown_8481FEC + .4byte gUnknown_84800EC + .4byte gUnknown_847E1EC + .4byte gUnknown_847ED8C + .4byte gUnknown_848106C + .4byte gUnknown_8480C8C + .4byte gUnknown_847F92C + .4byte gUnknown_847F54C + .4byte gUnknown_847E1EC + .4byte gUnknown_847D64C + .4byte gUnknown_847C6CC + + .include "data/text/move_descriptions.inc" + + .align 2, 0 +gMoveDescriptionPointers:: @ 84886E8 + .4byte gMoveDescription_Pound + .4byte gMoveDescription_KarateChop + .4byte gMoveDescription_DoubleSlap + .4byte gMoveDescription_CometPunch + .4byte gMoveDescription_MegaPunch + .4byte gMoveDescription_PayDay + .4byte gMoveDescription_FirePunch + .4byte gMoveDescription_IcePunch + .4byte gMoveDescription_ThunderPunch + .4byte gMoveDescription_Scratch + .4byte gMoveDescription_ViceGrip + .4byte gMoveDescription_Guillotine + .4byte gMoveDescription_RazorWind + .4byte gMoveDescription_SwordsDance + .4byte gMoveDescription_Cut + .4byte gMoveDescription_Gust + .4byte gMoveDescription_WingAttack + .4byte gMoveDescription_Whirlwind + .4byte gMoveDescription_Fly + .4byte gMoveDescription_Bind + .4byte gMoveDescription_Slam + .4byte gMoveDescription_VineWhip + .4byte gMoveDescription_Stomp + .4byte gMoveDescription_DoubleKick + .4byte gMoveDescription_MegaKick + .4byte gMoveDescription_JumpKick + .4byte gMoveDescription_RollingKick + .4byte gMoveDescription_SandAttack + .4byte gMoveDescription_Headbutt + .4byte gMoveDescription_HornAttack + .4byte gMoveDescription_FuryAttack + .4byte gMoveDescription_HornDrill + .4byte gMoveDescription_Tackle + .4byte gMoveDescription_BodySlam + .4byte gMoveDescription_Wrap + .4byte gMoveDescription_TakeDown + .4byte gMoveDescription_Thrash + .4byte gMoveDescription_DoubleEdge + .4byte gMoveDescription_TailWhip + .4byte gMoveDescription_PoisonSting + .4byte gMoveDescription_Twineedle + .4byte gMoveDescription_PinMissile + .4byte gMoveDescription_Leer + .4byte gMoveDescription_Bite + .4byte gMoveDescription_Growl + .4byte gMoveDescription_Roar + .4byte gMoveDescription_Sing + .4byte gMoveDescription_Supersonic + .4byte gMoveDescription_SonicBoom + .4byte gMoveDescription_Disable + .4byte gMoveDescription_Acid + .4byte gMoveDescription_Ember + .4byte gMoveDescription_Flamethrower + .4byte gMoveDescription_Mist + .4byte gMoveDescription_WaterGun + .4byte gMoveDescription_HydroPump + .4byte gMoveDescription_Surf + .4byte gMoveDescription_IceBeam + .4byte gMoveDescription_Blizzard + .4byte gMoveDescription_Psybeam + .4byte gMoveDescription_BubbleBeam + .4byte gMoveDescription_AuroraBeam + .4byte gMoveDescription_HyperBeam + .4byte gMoveDescription_Peck + .4byte gMoveDescription_DrillPeck + .4byte gMoveDescription_Submission + .4byte gMoveDescription_LowKick + .4byte gMoveDescription_Counter + .4byte gMoveDescription_SeismicToss + .4byte gMoveDescription_Strength + .4byte gMoveDescription_Absorb + .4byte gMoveDescription_MegaDrain + .4byte gMoveDescription_LeechSeed + .4byte gMoveDescription_Growth + .4byte gMoveDescription_RazorLeaf + .4byte gMoveDescription_SolarBeam + .4byte gMoveDescription_PoisonPowder + .4byte gMoveDescription_StunSpore + .4byte gMoveDescription_SleepPowder + .4byte gMoveDescription_PetalDance + .4byte gMoveDescription_StringShot + .4byte gMoveDescription_DragonRage + .4byte gMoveDescription_FireSpin + .4byte gMoveDescription_ThunderShock + .4byte gMoveDescription_Thunderbolt + .4byte gMoveDescription_ThunderWave + .4byte gMoveDescription_Thunder + .4byte gMoveDescription_RockThrow + .4byte gMoveDescription_Earthquake + .4byte gMoveDescription_Fissure + .4byte gMoveDescription_Dig + .4byte gMoveDescription_Toxic + .4byte gMoveDescription_Confusion + .4byte gMoveDescription_Psychic + .4byte gMoveDescription_Hypnosis + .4byte gMoveDescription_Meditate + .4byte gMoveDescription_Agility + .4byte gMoveDescription_QuickAttack + .4byte gMoveDescription_Rage + .4byte gMoveDescription_Teleport + .4byte gMoveDescription_NightShade + .4byte gMoveDescription_Mimic + .4byte gMoveDescription_Screech + .4byte gMoveDescription_DoubleTeam + .4byte gMoveDescription_Recover + .4byte gMoveDescription_Harden + .4byte gMoveDescription_Minimize + .4byte gMoveDescription_Smokescreen + .4byte gMoveDescription_ConfuseRay + .4byte gMoveDescription_Withdraw + .4byte gMoveDescription_DefenseCurl + .4byte gMoveDescription_Barrier + .4byte gMoveDescription_LightScreen + .4byte gMoveDescription_Haze + .4byte gMoveDescription_Reflect + .4byte gMoveDescription_FocusEnergy + .4byte gMoveDescription_Bide + .4byte gMoveDescription_Metronome + .4byte gMoveDescription_MirrorMove + .4byte gMoveDescription_SelfDestruct + .4byte gMoveDescription_EggBomb + .4byte gMoveDescription_Lick + .4byte gMoveDescription_Smog + .4byte gMoveDescription_Sludge + .4byte gMoveDescription_BoneClub + .4byte gMoveDescription_FireBlast + .4byte gMoveDescription_Waterfall + .4byte gMoveDescription_Clamp + .4byte gMoveDescription_Swift + .4byte gMoveDescription_SkullBash + .4byte gMoveDescription_SpikeCannon + .4byte gMoveDescription_Constrict + .4byte gMoveDescription_Amnesia + .4byte gMoveDescription_Kinesis + .4byte gMoveDescription_SoftBoiled + .4byte gMoveDescription_HiJumpKick + .4byte gMoveDescription_Glare + .4byte gMoveDescription_DreamEater + .4byte gMoveDescription_PoisonGas + .4byte gMoveDescription_Barrage + .4byte gMoveDescription_LeechLife + .4byte gMoveDescription_LovelyKiss + .4byte gMoveDescription_SkyAttack + .4byte gMoveDescription_Transform + .4byte gMoveDescription_Bubble + .4byte gMoveDescription_DizzyPunch + .4byte gMoveDescription_Spore + .4byte gMoveDescription_Flash + .4byte gMoveDescription_Psywave + .4byte gMoveDescription_Splash + .4byte gMoveDescription_AcidArmor + .4byte gMoveDescription_Crabhammer + .4byte gMoveDescription_Explosion + .4byte gMoveDescription_FurySwipes + .4byte gMoveDescription_Bonemerang + .4byte gMoveDescription_Rest + .4byte gMoveDescription_RockSlide + .4byte gMoveDescription_HyperFang + .4byte gMoveDescription_Sharpen + .4byte gMoveDescription_Conversion + .4byte gMoveDescription_TriAttack + .4byte gMoveDescription_SuperFang + .4byte gMoveDescription_Slash + .4byte gMoveDescription_Substitute + .4byte gMoveDescription_Struggle + .4byte gMoveDescription_Sketch + .4byte gMoveDescription_TripleKick + .4byte gMoveDescription_Thief + .4byte gMoveDescription_SpiderWeb + .4byte gMoveDescription_MindReader + .4byte gMoveDescription_Nightmare + .4byte gMoveDescription_FlameWheel + .4byte gMoveDescription_Snore + .4byte gMoveDescription_Curse + .4byte gMoveDescription_Flail + .4byte gMoveDescription_Conversion2 + .4byte gMoveDescription_Aeroblast + .4byte gMoveDescription_CottonSpore + .4byte gMoveDescription_Reversal + .4byte gMoveDescription_Spite + .4byte gMoveDescription_PowderSnow + .4byte gMoveDescription_Protect + .4byte gMoveDescription_MachPunch + .4byte gMoveDescription_ScaryFace + .4byte gMoveDescription_FaintAttack + .4byte gMoveDescription_SweetKiss + .4byte gMoveDescription_BellyDrum + .4byte gMoveDescription_SludgeBomb + .4byte gMoveDescription_MudSlap + .4byte gMoveDescription_Octazooka + .4byte gMoveDescription_Spikes + .4byte gMoveDescription_ZapCannon + .4byte gMoveDescription_Foresight + .4byte gMoveDescription_DestinyBond + .4byte gMoveDescription_PerishSong + .4byte gMoveDescription_IcyWind + .4byte gMoveDescription_Detect + .4byte gMoveDescription_BoneRush + .4byte gMoveDescription_LockOn + .4byte gMoveDescription_Outrage + .4byte gMoveDescription_Sandstorm + .4byte gMoveDescription_GigaDrain + .4byte gMoveDescription_Endure + .4byte gMoveDescription_Charm + .4byte gMoveDescription_Rollout + .4byte gMoveDescription_FalseSwipe + .4byte gMoveDescription_Swagger + .4byte gMoveDescription_MilkDrink + .4byte gMoveDescription_Spark + .4byte gMoveDescription_FuryCutter + .4byte gMoveDescription_SteelWing + .4byte gMoveDescription_MeanLook + .4byte gMoveDescription_Attract + .4byte gMoveDescription_SleepTalk + .4byte gMoveDescription_HealBell + .4byte gMoveDescription_Return + .4byte gMoveDescription_Present + .4byte gMoveDescription_Frustration + .4byte gMoveDescription_Safeguard + .4byte gMoveDescription_PainSplit + .4byte gMoveDescription_SacredFire + .4byte gMoveDescription_Magnitude + .4byte gMoveDescription_DynamicPunch + .4byte gMoveDescription_Megahorn + .4byte gMoveDescription_DragonBreath + .4byte gMoveDescription_BatonPass + .4byte gMoveDescription_Encore + .4byte gMoveDescription_Pursuit + .4byte gMoveDescription_RapidSpin + .4byte gMoveDescription_SweetScent + .4byte gMoveDescription_IronTail + .4byte gMoveDescription_MetalClaw + .4byte gMoveDescription_VitalThrow + .4byte gMoveDescription_MorningSun + .4byte gMoveDescription_Synthesis + .4byte gMoveDescription_Moonlight + .4byte gMoveDescription_HiddenPower + .4byte gMoveDescription_CrossChop + .4byte gMoveDescription_Twister + .4byte gMoveDescription_RainDance + .4byte gMoveDescription_SunnyDay + .4byte gMoveDescription_Crunch + .4byte gMoveDescription_MirrorCoat + .4byte gMoveDescription_PsychUp + .4byte gMoveDescription_ExtremeSpeed + .4byte gMoveDescription_AncientPower + .4byte gMoveDescription_ShadowBall + .4byte gMoveDescription_FutureSight + .4byte gMoveDescription_RockSmash + .4byte gMoveDescription_Whirlpool + .4byte gMoveDescription_BeatUp + .4byte gMoveDescription_FakeOut + .4byte gMoveDescription_Uproar + .4byte gMoveDescription_Stockpile + .4byte gMoveDescription_SpitUp + .4byte gMoveDescription_Swallow + .4byte gMoveDescription_HeatWave + .4byte gMoveDescription_Hail + .4byte gMoveDescription_Torment + .4byte gMoveDescription_Flatter + .4byte gMoveDescription_WillOWisp + .4byte gMoveDescription_Memento + .4byte gMoveDescription_Facade + .4byte gMoveDescription_FocusPunch + .4byte gMoveDescription_SmellingSalt + .4byte gMoveDescription_FollowMe + .4byte gMoveDescription_NaturePower + .4byte gMoveDescription_Charge + .4byte gMoveDescription_Taunt + .4byte gMoveDescription_HelpingHand + .4byte gMoveDescription_Trick + .4byte gMoveDescription_RolePlay + .4byte gMoveDescription_Wish + .4byte gMoveDescription_Assist + .4byte gMoveDescription_Ingrain + .4byte gMoveDescription_Superpower + .4byte gMoveDescription_MagicCoat + .4byte gMoveDescription_Recycle + .4byte gMoveDescription_Revenge + .4byte gMoveDescription_BrickBreak + .4byte gMoveDescription_Yawn + .4byte gMoveDescription_KnockOff + .4byte gMoveDescription_Endeavor + .4byte gMoveDescription_Eruption + .4byte gMoveDescription_SkillSwap + .4byte gMoveDescription_Imprison + .4byte gMoveDescription_Refresh + .4byte gMoveDescription_Grudge + .4byte gMoveDescription_Snatch + .4byte gMoveDescription_SecretPower + .4byte gMoveDescription_Dive + .4byte gMoveDescription_ArmThrust + .4byte gMoveDescription_Camouflage + .4byte gMoveDescription_TailGlow + .4byte gMoveDescription_LusterPurge + .4byte gMoveDescription_MistBall + .4byte gMoveDescription_FeatherDance + .4byte gMoveDescription_TeeterDance + .4byte gMoveDescription_BlazeKick + .4byte gMoveDescription_MudSport + .4byte gMoveDescription_IceBall + .4byte gMoveDescription_NeedleArm + .4byte gMoveDescription_SlackOff + .4byte gMoveDescription_HyperVoice + .4byte gMoveDescription_PoisonFang + .4byte gMoveDescription_CrushClaw + .4byte gMoveDescription_BlastBurn + .4byte gMoveDescription_HydroCannon + .4byte gMoveDescription_MeteorMash + .4byte gMoveDescription_Astonish + .4byte gMoveDescription_WeatherBall + .4byte gMoveDescription_Aromatherapy + .4byte gMoveDescription_FakeTears + .4byte gMoveDescription_AirCutter + .4byte gMoveDescription_Overheat + .4byte gMoveDescription_OdorSleuth + .4byte gMoveDescription_RockTomb + .4byte gMoveDescription_SilverWind + .4byte gMoveDescription_MetalSound + .4byte gMoveDescription_GrassWhistle + .4byte gMoveDescription_Tickle + .4byte gMoveDescription_CosmicPower + .4byte gMoveDescription_WaterSpout + .4byte gMoveDescription_SignalBeam + .4byte gMoveDescription_ShadowPunch + .4byte gMoveDescription_Extrasensory + .4byte gMoveDescription_SkyUppercut + .4byte gMoveDescription_SandTomb + .4byte gMoveDescription_SheerCold + .4byte gMoveDescription_MuddyWater + .4byte gMoveDescription_BulletSeed + .4byte gMoveDescription_AerialAce + .4byte gMoveDescription_IcicleSpear + .4byte gMoveDescription_IronDefense + .4byte gMoveDescription_Block + .4byte gMoveDescription_Howl + .4byte gMoveDescription_DragonClaw + .4byte gMoveDescription_FrenzyPlant + .4byte gMoveDescription_BulkUp + .4byte gMoveDescription_Bounce + .4byte gMoveDescription_MudShot + .4byte gMoveDescription_PoisonTail + .4byte gMoveDescription_Covet + .4byte gMoveDescription_VoltTackle + .4byte gMoveDescription_MagicalLeaf + .4byte gMoveDescription_WaterSport + .4byte gMoveDescription_CalmMind + .4byte gMoveDescription_LeafBlade + .4byte gMoveDescription_DragonDance + .4byte gMoveDescription_RockBlast + .4byte gMoveDescription_ShockWave + .4byte gMoveDescription_WaterPulse + .4byte gMoveDescription_DoomDesire + .4byte gMoveDescription_PsychoBoost 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 new file mode 100644 index 000000000..81d3a6f97 Binary files /dev/null and b/graphics/link_games/dodrioberry_berrysprites.png differ diff --git a/graphics/link_games/dodrioberry_bg1.bin b/graphics/link_games/dodrioberry_bg1.bin new file mode 100644 index 000000000..8547f63fb Binary files /dev/null and b/graphics/link_games/dodrioberry_bg1.bin differ 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 new file mode 100644 index 000000000..7079e8094 Binary files /dev/null and b/graphics/link_games/dodrioberry_bg1.png differ 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 new file mode 100644 index 000000000..ee343dd13 Binary files /dev/null and b/graphics/link_games/dodrioberry_bg2.png differ diff --git a/graphics/link_games/dodrioberry_bg2left.bin b/graphics/link_games/dodrioberry_bg2left.bin new file mode 100644 index 000000000..73e83c6dd Binary files /dev/null and b/graphics/link_games/dodrioberry_bg2left.bin differ diff --git a/graphics/link_games/dodrioberry_bg2right.bin b/graphics/link_games/dodrioberry_bg2right.bin new file mode 100644 index 000000000..a93db06df Binary files /dev/null and b/graphics/link_games/dodrioberry_bg2right.bin differ diff --git a/graphics/link_games/dodrioberry_pkmn.png b/graphics/link_games/dodrioberry_pkmn.png new file mode 100644 index 000000000..41ecd921d Binary files /dev/null and b/graphics/link_games/dodrioberry_pkmn.png differ diff --git a/graphics/link_games/dodrioberry_platform.png b/graphics/link_games/dodrioberry_platform.png new file mode 100644 index 000000000..9074ec740 Binary files /dev/null and b/graphics/link_games/dodrioberry_platform.png differ 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 new file mode 100644 index 000000000..e48d499f0 Binary files /dev/null and b/graphics/link_games/dodrioberry_status.png differ 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}; -- cgit v1.2.3